两重循环:
#include <stdio.h>
int main()
{
int i=0,j=0,k,m=5,g=3,x=1,s=100;
int P=0;
{
for(i=0;i<=20;i++)
for(j=0;j<=(100-i*5)/3;j++)
{
k=(100-i-j);
if(i*5+j*3+k/3 == 100 &&k%3==0)
printf("%d %d %d\n",i,j,k*3);
P++;
}
}
printf("%d",P);
return 0;
}
一重循环:#include <stdio.h>
int main()
{
int a,b,c,d,m,n,x,y,z;
int t=1,p=0,q=1;
scanf("COCK,HEN,CHICK,MONEY,CHICKS");
while(scanf("%d,%d,%d/%d,%d,%d",&a,&b,&c,&d,&m,&n)!=EOF)
{
if(t!=1) printf("\n");
for(y=n;y>=0;y--)
{
if((d*m+(c-b*d)*y-c*n)%(a*d-c)==0)
{
x=(d*m+(c-b*d)*y-c*n)/(a*d-c);
if(x<0||x>n) continue;
z = n-y-x;
if(z<0||z>n) continue;
if(q!=1)
{printf("%d,%d,%d\n",x,y,z); q++;}
else
{
printf("COCKS,HENS,CHICKS\n");
printf("%d,%d,%d\n",x,y,z);
q++;
}
p++;
}
}
if(p==0)
printf("Cannot buy!\n");
q=1; p=0; t++;
}
return 0;
}