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

Posted mukekeheart

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为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 }

 

以上是关于华为OJ平台——百钱买百鸡问题的主要内容,如果未能解决你的问题,请参考以下文章

华为机试题 HJ72百钱买百鸡问题

华为机试HJ72:百钱买百鸡问题

百钱买百鸡

C语言程序设计百钱买百鸡(百钱百鸡,百鸡问题)!

ZZNUOJ_C语言1074:百钱买百鸡(完整代码)

百钱买百鸡