c 语言循环问题
下面是我写的一个百鸡百钱问题代码,我用的是3个循环来做的,可是程序运行效率太低了,慢,超时哪位高手可有更好的算法
在市场上,鸡的售价分别是:公鸡3文钱1只,母鸡2文1只,小鸡1文3只。问拿100文钱想买100只鸡,则公鸡、母鸡和小鸡应各买多少只?
要解决的问题是:如果鸡的价格保持不变,有人拿钱若干,想使买到的鸡数与钱数相当,问有哪些解决方案。
输入钱数,得出各种鸡的数目
#include<stdio.h>
main()
{
int i,j,k,num;
scanf("%d",&num);
for(i=0;i<num/3;i++)
for(j=0;j<num/2;j++)
for(k=0;k<num;k++)
{
if((i+j+k==num)&&(3*i+2*j+k/3==num)&&(k%3==0))
printf("%d %d %d\n",i,j,k);
}
}