题目:“百钱买百鸡”是我国古代的著名数学题。题目这样描述: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++)
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);//打印输出
代码图:

控制台结果: