百錢買百雞c語言-ag真人国际官网
ⅰ c語言解決百錢買雞問題
chicks小雞,cocks公雞,hens
n是錢,因為1錢可買3小雞,所以小雞數對應錢數就是:chicks=3*n
外層遍歷:買小雞的錢,從0遍歷到33(33塊就99個小雞了,明顯用不了這么多,但作者為了保險吧)
內層遍歷:買母雞的個數,從0遍歷到33個(33個母雞也99塊,與上面意圖相同,盡量遍歷到境界點,雖然有點不科學,但如果問題有解,在條件成立時加個跳出,也不礙事)
內層遍歷的時候:cocks=100-hens-chicks; 公雞=100-母雞-小雞,(確保三種雞加起來是100)
if(5*cocks 3*hens n==100&&cocks>=0) 意思是:所有的錢加起來是100並且公雞個數不為負數
printf("%d %d %d\n",cocks,hens,chicks); //打完收工
hens ;//自增
}
n ;//自增
ⅱ c語言中百錢百雞的程序
#include
int main()
{
int a,b,c;//各種雞的數目
int i=0; //方程解數目
printf("百錢買百雞,求雞翁,雞母,雞雛的數目:\n");
for(a=0;a<20;a ) //外層循環控制公雞
{
for(b=0;b<=33;b ) //內層循環控制公雞
{
c=100-a-b; //小雞的只數
if(c%3==0 && a*5 b*3 c/3==100)
{
//驗證取c值的合理性及得到一組解的合理性
printf("-:雞翁數:-,雞母數:-,雞雛數:-\n", i,a,b,c);
}
}
}
}
ⅲ c語言 百錢買百雞
#include
void main()
{
int a,b,c;
for(a=0;a<20;a )//公雞可能的只數
for(b=0;b<(100-5*a)/3;b )//母雞可能的只數
{ c=100-a-b;//總數為100時,小雞的只數
if(c%3==0 && a*5 b*3 c/3==100)//若小雞只數是3的倍數,且總價為100
printf("a=%d b=%d c=%d ",a,b,c);
}
getch();
return 0;
}
ⅳ c語言「百錢百雞」,用100塊買100隻雞,公雞3元1隻,母雞5元1隻,小雞1元3隻。代碼我已經打好了。
#include
voidmain()
{
intcock=0; //公雞的數量公雞3元一隻
inthen=0; //母雞的數量 母雞5元一隻
intchick=0; //小雞的數量 小雞1元三隻
for(cock=0;cock<=33;cock )//100塊最多買33隻公雞
{
for(hen=0;hen<=20;hen ) //100塊最多買20隻母雞
{
for(chick=0;chick<=300;chick =3) //100塊最多買300隻小雞小雞一定是3的倍數才可以
{
if(3*cock 5*hen chick/3==100)//100塊買100隻雞1/3結果是0,這里應該用chick/3
{
printf("公雞的數量為:%d ",cock);
printf("母雞的數量為:%d ",hen);
printf("小雞的數量為:%d ",chick);
}
}
}
}
}
ⅳ 百雞百錢問題 c語言 遞歸解決 一定是遞歸!不要用循環!
為方便計算,把小雞的價格定義為1,母雞價格為9,公雞15,這樣可以把問題當作300錢買100雞了:
#include
intprice[3]={15,9,1};
intchicknum[3];
voidbuychick(intcurmoney,intci)
{
intmax,i;
max=curmoney/price[ci];
for(i=1;i<=max; i)
{
chicknum[ci]=i;
if(2==ci)
{
if(100==chicknum[0] chicknum[1] chicknum[2])
if(300==chicknum[0]*price[0] chicknum[1]*price[1] chicknum[2]*price[2])
printf("公雞:m母雞:m小雞:m
",chicknum[0],chicknum[1],chicknum[2]);
}
else
buychick(curmoney-chicknum[ci]*price[ci],ci 1);
}
}
intmain()
{
buychick(300,0);
return0;
}
ⅵ c語言程序設計答案 100元買100隻雞,公雞5元一隻,母雞3元一隻,小雞1元3隻,該怎麼買
寫個三重循環來尋找購買方案。
#include
intmain(void){
inti,j,k,count=0;
for(i=1;i<=100/5;i )/*公雞*/
for(j=1;j<=100/3;j )/*母雞*/
for(k=1;k<=100*3;k )/*小雞*/
if(i*5 j*3 k==100&&i j k*3==100){
count ;
printf("方案%d:%d只公雞,%d只母雞,%d只小雞。 ",count,i,j,k*3);
printf("100隻雞=%d %d %d ",i,j,k*3);
printf("100元錢=%d×5 %d×3 %d/3=%d %d %d ",i,j,k*3,i*5,j*3,k);
printf(" ");
}
}
運行結果