刷题之百钱买百鸡

/*
题目描述
公元前五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
详细描述:
接口说明
原型:int GetResult(vector &list)
输入参数:无
输出参数(指针指向的内存区域保证有效):list  鸡翁、鸡母、鸡雏组合的列表
返回值:-1 失败     0 成功
 */
import java.sql.Array;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        final int cock = 5;  //一只公鸡价格
        final int hen = 3;   //一只母鸡价格
        final int threeChickens = 1; //三只小鸡价格

        Scanner sc = new Scanner(System.in);
        while(sc.hasNextInt()) {
            int n = sc.nextInt();
            for (int chickenNum = 0; chickenNum <= 100; chickenNum++) {
                for (int henNum = 0; henNum <= 33; henNum++) {
                    for (int cockNum = 0; cockNum <= 20; cockNum++) {
                        if (cockNum * cock + henNum * hen + chickenNum * threeChickens == 100 && cockNum + henNum + chickenNum * 3 == 100) {
                            System.out.println(cockNum + " " + henNum + " " + 3 * chickenNum);
                        }
                    }
                }
            }

        }

    }
}

输出为:

0 25 75
4 18 78
8 11 81
12 4 84

一百钱买一百只鸡,这算法还可以优化。

你可能感兴趣的:(算法刷题)