用循环解决“百钱买百鸡”问题


题目:“百钱买百鸡”是我国古代的著名数学题。题目这样描述:3 文
钱可以买1只公鸡,2 文钱可以买一只母鸡,1 文钱可以买3 只小鸡。用100 文
钱买100 只鸡,那么各有公鸡、母鸡、小鸡多少只?
 
首先需要找出公鸡,母鸡,小鸡以及金钱的关系;
我们先分别给三种鸡定义变量;
int a;                    // 公鸡的数量
int b;                   //母鸡的数量
int c;                   //小鸡的数量
 
我们再来寻找他们之间的关系
已知三种鸡共一百只,则:a+b+c=100;
一共花了一百文钱,则:3a+2B+c/3=100;
又因为小鸡是一文钱三只,不能单独售卖因此,c/3 = 0;
在知道条件后,知道答案可能不唯一,我们可以借助计算机的计算能力用列举法来得出答案;
每种鸡的数量都肯定是0 <= 某种鸡数量 <=100的;
因此在明确次数的情况下我们用for循环最为方便;
所以代码为:
for(a = 0; a <= 100; a++)
   for(b = 0; b<=100; b++)
      for(c = 0; c<=100; c++)
 
此时我们需要在其中选择出满足题目要求条件的答案;
所以里面需要用到if选择结构来筛选出正确答案:
if(a+b+c == 100 && (3*a+2*b+c/3) == 100 && c%3 == 0)
 
最后循环操作为打印输出答案:
 
System.out.println("公鸡有:"+a+"母鸡有:"+b+"小鸡有:"+c);//打印输出
 
代码图:
 

控制台结果:

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM