华为OJ平台——百钱买百鸡问题

题目描述:

元前五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。

百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

思路:

这道题很简单,假设鸡翁 i 只, 鸡母 j 只, 则有

  1. i + j + k = 100
  2. 5*i + 3*j + k/3 = 100

由以上两个等式我们可以推出:

  1. j = 25 - i * 7/4 ;
  2. k = 75 + i * 3/4 ;

由于i、 j、 k 必须是0或正整数,所以 i 必须是4的倍数,因此我们下面的程序中也是以4为步长增长的

 1 public class BuyHens {
 2 
 3     public static void main(String[] args) {
 4         int i = 0 ;
 5         int j = 0 ;
 6         int k = 0 ;
 7         
 8         for(i = 0 ; 5*i <= 100 ; i += 4){
 9             j = 25 - i*7/4 ;
10             k = 75 + i*3/4 ;
11             //满足条件是j >= 0 && k >= 0
12             if(j >= 0 && k >= 0 ){
13                 System.out.println(i + " " + j + " " + k) ;
14             }            
15         }    
16     }
17 }
原文地址:https://www.cnblogs.com/mukekeheart/p/5596916.html