Description
公鸡一只5元,母鸡一只3元,鸡雏3只一元,m元买n只鸡如何买?(每种至少买一只)。如果无法按要求购买,则输出“No answer”。
Input
m,n为正整数。1≤m,n≤10^3。
多组输入
Output
输出每种情况下的所有可能的买法。并换行输出10个“-”符号再换行。
Sample Input 1
50 50
1 1
Sample Output 1
2 9 39 6 2 42 ---------- No answer ----------
Code
#include <stdio.h>
int main()
{
int rooster,hen,chick,m,n,k=0;
while(scanf("%d%d",&m,&n)!=EOF&&m>=1&&n>=1&&m<=1000&&n<=1000)
{
k=0;
for(rooster=1; rooster<=n; rooster++)//这里不能用rooster<=n/5,因为这个错了无数次
{
for(hen=1; hen<=n; hen++)
{
chick=n-rooster-hen;
if(chick>0&&rooster*5+hen*3+chick/3.0==m&&hen+rooster+chick==n&&chick%3==0)//注意3.0
{
printf("%d %d %d\n",rooster,hen,chick);
k++;
continue;
}
}
}
if(k==0)
{
printf("No answer\n");
}
printf("----------\n");
}
return 0;
}