#include<stdio.h>
#include<string.h>
#include<math.h>
#include<malloc.h>
#define cock 5
#define hen 3
#define chick 1
//百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用100文钱买100只鸡,公鸡、母鸡、小鸡各买多少只?
//本程序要求解的问题是:给定一个正整数n,用n文钱买n只鸡,问公鸡、母鸡、小鸡各买多少只?
//输入一个正整数n(n<=100)。
//如果有解,种组合占一行,包含公鸡、母鸡、小鸡的个数,用正整数表示,每个数据占4列。
//公鸡母鸡小鸡个数均大于等于0,按公鸡数目从小到大输出,公鸡数目相同按母鸡数目从小到大输出,
//以此类推。如果无解,输出“No Answer”。
int main()
{
//思路:跟上一题思路一样,这里审题,小鸡3只1块,小鸡一定是3的倍数
int n;int cc=0,h=0,chi=0,flag=1;
scanf("%d",&n);
for(cc=0;cc<20;cc++)
for(h=0;h<(n-cc);h++)
{
chi=n-cc-h;
if(chi%3==0)
{
if((chi+h+cc==n)&&(cock*cc+h*hen+chi/3*chick==n))
{
flag=0;
printf("%4d%4d%4d\n",cc,h,chi);
}
}
}
if(flag)printf("No Answer");
return 0;//今天又是没带return 0的一天
}
公鸡的数目一定是小于20的,可以缩小范围,并且小鸡的数目是3的倍数。