上课练的小程序:我在这里给出最优算法:
/*用一重循环:
求解:设母鸡、公鸡、小鸡各为i, j, k只。则有:
i + j + k = 100
5i + 3j + k/3 = 100
只需要解出本方程就可以得到答案。
得到:14*i+8*j = 200
简化为: 7*i+4*j=100 所以有:i<=14
又: j=25-7*i/4 ,故i必为4的倍数
*/
#include <stdio.h>
int main()
{
int i,j,k;
for(i = 0;i <= 14;i += 4){
j = (100 - 7*i)/4;
k = 100 - i - j;
if(k % 3 == 0 && 5 * i + 3 * j + k / 3 == 100)
printf("%d %d %d\n",i,j,k);
}
return 0;
}