百钱百鸡案例
程序员文章站
2024-03-16 12:42:04
...
需求
我国古代数学家张丘建在《算经》一书中提出的数学问题:
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一. 百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
公鸡 5块钱一只 x
母鸡 3块钱一只 y
小鸡 1块钱3只 z
5*x + 3*y + z/3 = 100
思路分析
现在假设有100块钱,请问公鸡 , 母鸡 , 小鸡可以各买多少个?
5x + 3y + z/3 == 100 ---> 钱的总数量
x是一个整数,y也是一个整数 , 而我们的100是钱的总数量,那么z/3应该也是一个整数。
那么就说明,z需要满足一个条件:可以被3整除
并且 x + y + z == 100
我们需要获取的就是满足上述条件的x,y,z的值。
代码实现
/**
* Created by Intellij IDEA.
*
* @Description: 需求: 我国古代数学家张丘建在《算经》一书中提出的数学问题:
* 鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一. 百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
* 公鸡 5块钱一只 x
* 母鸡 3块钱一只 y
* 小鸡 1块钱3只 z
* 5*x + 3*y + z/3 = 100
*/
public class Chicken {
public static void main(String[] args) {
int son;
for (int male = 0; male <= 20; male++) {
for (int famale = 0; famale <= 33; famale++) {
son = 100 - male - famale;
if (5 * male + 3 * famale + son / 3 == 100 && son % 3 == 0) {
System.out.println("鸡翁:" + male + ",\t鸡母:" + famale + ",\t鸡雏:" + son);
}
}
}
}
}