天天看點

案例:百錢百雞

案例:百錢百雞

需求:我國古代數學家張邱建在《算經》一書提出數學問題:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。

百錢買百雞,問雞翁

,雞母

,雞雛

各幾隻?

分析:

假設雞翁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);
                }
            }
        }
    }
}