百钱百鸡
需求:
我国古代数学家张丘建在《算经》一书中提出的数学问题:
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
分析:
假设鸡翁a只,鸡母b只,鸡雏c只,则下面式子是成立的
a+b+c=100;
5*a+3*b+c/3=100;
如果单独只看一种鸡型,则下面的算式是成立的
0<=a<=20 (因为一共只有100钱,所以a最多只能取20)
0<=b<=33 (同理:b最多只能取33)
0<=c<=100 (因为最多只能有100只鸡,所以c最多只能取100)
使用穷举法就可以罗例出a,b,c的值。
(但是太麻烦了,我们还是用循环嵌套)
思路:
我们可以用循环嵌套来完成;
1、第一层循环,用来表示鸡翁,判断条件是a<=20
2、第二层循环,用来表示鸡母,判断条件是b<=33
3、第三层循环,用来表示鸡雏,判断条件为c=100-a-b
4、if语句判断条件为z%3==0&&a+b+c==100&&5*a+3*b+c/3==100是否同时成立,
如果成立则输出a,b,c的值。
下面是我的源代码
下面展示一些 代码片
。
for(int a=0;a<=20;a++)
{
for(int b=0;b<=33;b++)
{
for(int c=0;c<=100-a-b;c++)
{
if(5*a+3*b+c/3==100&&a+b+c==100&&c%3==0)
{
System.out.println("鸡翁的数量为:"+a+"鸡母的数量为:"+b+"鸡雏的数量为:"+c);
}
}
}
}