【华为OJ】【算法总篇章】
【华为OJ】【047-百钱买百鸡问题】
【工程下载】
题目描述
公元前五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 详细描述: 接口说明 原型: int getResult()
输入描述
无
输出描述
list 鸡翁、鸡母、鸡雏组合的列表
输入例子
1
输出例子
0 25 75
4 18 78
8 11 81
12 4 84
算法实现
import java.util.Scanner;
/**
* Author: 王俊超
* Date: 2015-12-25 08:15
* Declaration: All Rights Reserved !!!
*/
public class Main {
public static void main(String[] args) {
//Scanner scanner = new Scanner(System.in);
Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt"));
while (scanner.hasNext()) {
scanner.nextLine();
System.out.print(getResult());
}
scanner.close();
}
/**
* 鸡翁(x)、鸡母(y)、鸡雏(z)问题是求 100 = 5x + 3y+ z/3 且 100 = x + y + z的所有可能解
*
* @return
*/
public static String getResult() {
StringBuilder builder = new StringBuilder();
for (int x = 0; x <= 100; x++) {
for (int y = 0; y <= 100 - x; y++) {
int z = 100 - x - y;
if (z % 3 == 0 && 100 == 5 * x + 3 * y + z / 3) {
builder.append(x).append(‘ ‘).append(y).append(‘ ‘).append(z).append(‘\n‘);
}
}
}
return builder.toString();
}
}
时间: 2024-10-28 23:42:16