欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

百钱百鸡案例

程序员文章站 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);
                }
            }
        }
    }
}