题目描述
马克思手稿中有这样一道趣味数学题:男人、女人和小孩总计n个人,在一家饭店里吃饭,共花了cost先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,请用穷举法编程计算男人、女人和小孩各有几个。
输入
输入两个正整数,表示人数n和花费cost。
输出
若问题有解,则输出所有解,每行输出三个数据,代表男人、女人和小孩的人数,用空格分隔;若问题无解,则输出“No answer"。
样例输入 Copy
30 50
样例输出 Copy
0 20 10 1 18 11 2 16 12 3 14 13 4 12 14 5 10 15 6 8 16 7 6 17 8 4 18 9 2 19 10 0 20
先调到java再提交
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt(),
cost = in.nextInt();
boolean flag = true;
for(int i = 0;i <= cost / 3;i++) {
for(int j = 0;j <= cost / 2;j++) {
int k = n - i - j;
if(i * 3+ j * 2 + k == cost && k > 0) {
System.out.printf("%d %d %d\n",i,j,k);
flag = false;
}
}
}
if(flag)
System.out.print("No answer");
}
}
令n = cost就是百钱买百鸡问题((10条消息) zzuli oj 1074: 百钱买百鸡(java)_shuonine2b的博客-CSDN博客)