1145: n钱买n只鸡
Posted 童凌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1145: n钱买n只鸡相关的知识,希望对你有一定的参考价值。
Description有n个铜钱买了n只鸡,其中公鸡一只 5 钱、母鸡一只 3 钱,小鸡3 只一 钱 ,问n只鸡中公鸡、母鸡、小鸡各多少?
Input第一行输入一个t(t<=10),代表有t组数据,接下来t行,每行输入一个数n(100<=n<=1000),代表有n个铜板,需要买n只鸡
Output输出格式如下:
输出所有可能的结果,以公鸡数递增输出
每行第一个数为公鸡数,第二个数为母鸡数,第三个数为小鸡数,每两个数之间有一个空格
Sample Input1 100Sample Output
0 25 75 4 18 78 8 11 81 12 4 84
本题用枚举的算法可以求出结果。在枚举时,可以控制条件,减少计算量。
另外,只要使用2层循环就够,如果用3层循环,计算量会大很多。
int main()
int cock,hen,chicken,money,n,k=0;
int p,Count;
scanf("%d",&Count);
for (p=0;p<Count;p++)
scanf("%d",&n);
for(cock=0;cock<n;cock++)
for(hen=0;hen<(n-cock);hen++)
chicken=n-cock-hen;
if(chicken%3 != 0) //小鸡必须能被3整除,可以减少很多不必要的计算
continue;
money=cock*5+hen*3+chicken/3;
if(money==n)
k=k+1;
printf("%d %d %d\\n",cock,hen,chicken);
return 0;
以上是关于1145: n钱买n只鸡的主要内容,如果未能解决你的问题,请参考以下文章
php 公鸡3元每只,母鸡5元每只,小鸡1元3只,一百元钱买一百只鸡请求出公鸡,母鸡和小鸡的数目