题目描述
百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用100文钱买100只鸡,公鸡、母鸡、小鸡各买多少只?
本程序要求解的问题是:给定一个正整数n,用n文钱买n只鸡,问公鸡、母鸡、小鸡各买多少只?
输入
输入一个正整数n(n<=100)。
输出
如果有解,种组合占一行,包含公鸡、母鸡、小鸡的个数,用正整数表示,每个数据占4列。公鸡母鸡小鸡个数均大于等于0,按公鸡数目从小到大输出,公鸡数目相同按母鸡数目从小到大输出,以此类推。如果无解,输出“No Answer”。
样例输入
100
样例输出
0 25 75
4 18 78
8 11 81
12 4 84
来源
#include<stdio.h>
#define TRUE 1
#define FALSE 0
int main(void)
{
int x, y, z, n, NoAnswer;
scanf("%d", &n);
NoAnswer = TRUE;
for(x = 0; x <= n/5; x++) //穷举公鸡个数
for(y = 0; y <= n/3; y++) //穷举母鸡个数
{
z = n - x - y; //其余是鸡仔
if(15 * x + 9 * y + z == n *3 ) //注意避免浮点运算
{
printf("%4d%4d%4d
", x, y, z);
NoAnswer = FALSE;
}
}
if(NoAnswer == TRUE)
printf("No Answer
");
return 0;
}