題目描述:
用小於等於n元去買100只雞,大雞5元/只,小雞3元/只,還有1/3元每隻的一種小雞,分別記爲x只,y只,z只。編程求解x,y,z所有可能解。
輸入:
測試數據有多組,輸入n。
輸出:
對於每組輸入,請輸出x,y,z所有可行解,按照x,y,z依次增大的順序輸出。
樣例輸入:
40
樣例輸出:
x=0,y=0,z=100
x=0,y=1,z=99
x=0,y=2,z=98
x=1,y=0,z=99
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<=20;i++)
{
for(int j=0;j<=33;j++)
{
for(int k=0;k<=300;k++)
{
if((i+j+k==100)&&(i*5+j*3+k/3.0)<=n)
{
printf("x=%d,y=%d,z=%d\n",i,j,k);
}
}
}
}
//算法優化
for(int i=0;i<=n/5;i++)
{
for(int j=0;j<=(n-5*i)/3;j++)
{
for(int k=0;k<=(n-5*i-3*j)*3;k++)
{
if((i+j+k==100)&&(i*5+j*3+k/3.0)<=n)
{
printf("x=%d,y=%d,z=%d\n",i,j,k);
}
}
}
}
return 0;
}