100元買100隻雞c語言
1. c語言編寫程序解決百錢白雞問題
按照題目要求編寫的解決百錢買百雞問題的C語言程序如下
#include<stdio.h>
intmain()
{
inta,b,c;
for(a=0;a<=20;a++)
for(b=0;b<=33;b++)
{
c=100-a-b;
if(c%3==0&&5*a+3*b+c/3==100)
printf("雞翁%d只,雞母%d只,雞雛%d只 ",a,b,c);
}
return0;
}
2. C語言(百錢買百雞的問題)
百錢百雞問題中國古代數學家張丘建在他的《算經》中提出了著名的「百錢買百雞問題」:雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁、母、雛各幾何?
*題目分析與演算法設計設雞翁、雞母、雞雛的個數分別為cocks(x),hens(y),chicks(z),題意給定共100錢要買百雞,若全買公雞最多買20隻,顯然cocks的值在0~20之間;
同理,hens的取值范圍在0~33之間,可得到下面的不定方程: 5x+3y+z/3=100 x+y+z=100 所以此問題可歸結為求這個不定方程的整數解。由程序設計實現不定方程的求解與手工計算不同。在分析確定方程中未知數變化范圍的前提下,可通過對未知數可變范圍的窮舉,驗證方程在什麼情況下成立,從而得到相應的解。
程序解釋
main()
{
int cocks=0,hens,chicks;
while (cocks<=19) //公雞只數小於19
{hens=0;
while(hens<=33) //母雞小於33隻
{chicks=100-cocks-hens;
if (5.0*cocks+3.0*hens+chicks/3.0==100.0)
printf("%d %d %d\n",cocks,hens,chicks);
hens++;
}
cocks++;
}
}
*總是的進一步討論這類求解不定方程總理的實現,各層循環的控制變數直接與方程未知數有關,且採用對未知數的取值范上窮舉和組合的方法來復蓋可能得到的全部各組解。能否根據題意更合理的設置循環控制條件來減少這種窮舉和組合的次數,提高程序的執行效率,請讀者考慮
3. c語言題:百錢百雞。公雞五元一隻,母雞三元一隻,雞雛一元三隻。 若用100元買100隻雞,可各買多少
本身這個函數思想有很多問題。。。但是你問哪裡錯了,我就照你這個改改。
int main()
{
int a, b, c;
for(a = 0; a <= 20; a++) //公雞最多20
for(b = 0; b <= 33;b++) //母雞最多33(我認為你要的結果都是整型)
for(c = 0; c <= 300;c += 3) //雛雞最多300,每次增加3,要整型!
if(a+b+c==100&&5*a+3*b+c/3==100) //不明白你本來1/c什麼意思,還有,加break幹嘛?有很多組合情況的
printf("gong ji %d\nmu ji %d\nji chu %d\n", a, b, c);
}
4. c語言程序設計答案 100元買100隻雞,公雞5元一隻,母雞3元一隻,小雞1元3隻,該怎麼買
寫個三重循環來尋找購買方案。
#include<stdio.h>
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(" ");
}
}
運行結果
5. 編程 c語言100元買100隻雞,公雞五元錢一隻,母雞三元錢一隻,小雞一元錢三
#include<stdio.h>
intmain()
{
intgj,mj,xj;//公雞,母雞,小雞
for(gj=1;gj<=20;gj++)//公雞5塊錢一隻,100塊最多買20隻
for(mj=1;mj<=33;mj++)//同理
for(xj=1;xj<=300;xj+=3)//一塊錢3隻,每次增量為3
if((gj+mj+xj==100)&&(gj*5+mj*3+xj/3<=100))//總量為100隻雞,且價格要在100塊以內
printf("公雞%d只,母雞%d只,小雞%d只 ",gj,mj,xj);
return0;
}
6. C語言 百錢買百雞
#include<stdio.h>
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;
}
7. C語言「百錢百雞」,用100塊買100隻雞,公雞3元1隻,母雞5元1隻,小雞1元3隻。代碼我已經打好了。
#include<stdio.h>
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);
}
}
}
}
}