需求:我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
分析:
1)假设鸡翁x只,鸡母y只,鸡雏z只,则下面的式子是成立的:
x+y+z=100;
5*x+3*y+z/3=100;
2)如果单独看一种鸡型(自身限制条件),则下面的式子是成立的:
0<=x<=20
0<=y<=33
0<=z<=100
思路:
1)第一层循环,用于表示鸡翁的范围,初始化表达式的变量定义为x=0,判断条件是x<=20;
2)第二层循环,用于表示鸡母的范围,初始化表达式的变量定义为y=0,判断条件是y<=33;
3)这个时候,用于表示鸡雏的变量z=100-x-y;
4)判断表达式z%3==0和表达式5x+3y+z/3=100是否同时成立,如果成立,输出对应的x,y,z的值,就是对应的鸡翁,鸡母,鸡雏的值。
public class MyTest {
public static void main(String[] args) {
for(int x=0;x<=20;x++){
for(int y=0;y<=33;y++){
int z=100-x-y;
if(z%3==0 && 5*x+3*y+z/3== 100){
System.out.println(x+","+y+","+z);
}
}
}
}
}
0,25,75
4,18,78
8,11,81
12,4,84