案例:百钱百鸡
需求:我国古代数学家张邱建在《算经》一书提出数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁
,鸡母
,鸡雏
各几只?
分析:
假设鸡翁x只,鸡母y只,鸡雏z只则有:
x+y+z=100
5*x+3*y+z/3=100
单看一种鸡
,则有以下关系式
0<=x<=20
0<=y<=33
0<=z<=100
使用穷举法罗列出x,y,z的值
思路:
1.第一层循环:用于表示鸡翁的范围,初始化表达式的变量定义为x=0,判断条件是x<=20
2.第二层循环:用于表示鸡母的范围,初始化表达式的变量定义为y=0,判断条件是y<=33
3.第三层循环:用于表示鸡雏的变量z=100-x-y
4.判断表达式z%3==0和表达式5*x+3*y+z/3=100是否同时成立,如果成立,输出对应x,y,z的值,就是对应得鸡翁,鸡母,鸡雏
代码示例:
public class Test05 {
public static void main(String[] args) {
//第一层循环:用于表示鸡翁的范围,初始化表达式的变量定义为x=0,判断条件是x<=20
for (int x = 0; x < 20; x++) {
//.第二层循环:用于表示鸡母的范围,初始化表达式的变量定义为y=0,判断条件是y<=33
for (int y = 0; y < 33; y++) {
//第三层循环:用于表示鸡雏的变量z=100-x-y
int z = 100 - x - y;
// 判断表达式z%3==0和表达式5*x+3*y+z/3=100是否同时成立,如果成立,输出对应x,y,z的值,就是对应得鸡翁,鸡母,鸡雏
if(z%3==0 && 5*x+3*y+z/3==100){
System.out.println(x+","+y+","+z);
}
}
}
}
}
标签:鸡翁,变量,百钱,鸡母,鸡雏,案例,百鸡,100,表达式 From: https://blog.51cto.com/u_15612474/5830131