當前位置:首頁 » 編程語言 » c語言百錢百雞問題統計組數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言百錢百雞問題統計組數

發布時間: 2022-04-29 10:42:12

1. c語言:百錢百雞問題

#include<stdio.h>
void main(){
int cockNum; //定義公雞的數量,也就是雞翁的數量
int henNum; //定義母雞的數量,也就是雞母的數量
int chickenNum; //定義小雞的數量,也就是雛雞的數量
int count = 0; //定義輸出結果的編號
//公雞100文錢能買100 / 5 = 20隻
for (cockNum = 0; cockNum <= 20; cockNum++) {
//母雞100文錢 能買100 / 3 = 33隻,還多1文
for (henNum = 0; henNum <= 33; henNum++) {
//三種雞的只數總和是100隻,故只要確定公雞和母雞的只數,就能確定小雞的只數
chickenNum = 100 - cockNum - henNum;
//三種雞的總價格是100文,故以此為條件分別輸出所有雞的只數
if (5 * cockNum + 3 * henNum + chickenNum / 3.0 == 100) {
count++; //輸出結果的編號自增
printf("%d.公雞的數量是:%d只,母雞的數量是:%d只,小雞的數量是:%d只。\n",count,cockNum,henNum,chickenNum);
}
}
}
}

2. C語言百錢百雞

#include <stdio.h>

int main()

{int x,n,a,b,c;

scanf("%d,%d",&n,&x);

for(a=0;a<=x/5;a++)

for(b=0;b<=(x-5*a)/3;b++)

{c=n-a-b;

if(c%3==0&&5*a+3*b+c/3==x)

printf("cock=%d,hen=%d,chicken=%d ",a,b,c);

};

return 0;

}

3. 百雞問題怎麼用C語言求解

用C語言解決百雞問題的步驟如下:

1丶打開網頁C語言編譯環境,或者自己的安裝的編譯環境。

這樣就解決了用C語言解決百雞問題。

4. c語言的百錢買百雞問題。

我國古代數學家張丘建在《算經》一書中曾提出過著名的「百錢買百雞」問題,該問題敘述如下:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一;百錢買百雞,則翁、母、雛各幾何?

翻譯過來,意思是公雞一個五塊錢,母雞一個三塊錢,小雞三個一塊錢,現在要用一百塊錢買一百隻雞,問公雞、母雞、小雞各多少只?

題目分析
如果用數學的方法解決百錢買百雞問題,可將該問題抽象成方程式組。設公雞x只,母雞y只,小雞z只,得到以下方程式組:
A:5x+3y+1/3z = 100
B:x+y+z = 100
C:0 <= x <= 100
D:0 <= y <= 100
E:0 <= z <= 100

如果用解方程的方式解這道題需要進行多次猜解,計算機的一個優勢就是計算速度特別暴力並且無怨無悔,所以我們可以欺負她、蹂躪她!因此我們用窮舉法的方式來解題,需要101^3次猜解,但對於計算機來說,小CASE!

代碼清單:
#include <stdio.h>int main()
{ int i, j, k;
printf("百元買百雞的問題所有可能的解如下:\n");
for( i=0; i <= 100; i++ )
for( j=0; j <= 100; j++ )
for( k=0; k <= 100; k++ )
{
if( 5*i+3*j+k/3==100 && k%3==0 && i+j+k==100 )
{
printf("公雞 %2d 只,母雞 %2d 只,小雞 %2d 只\n", i, j, k);
}
}
return 0;
}
運行結果:百元買百雞的問題所有可能的解如下:
公雞 0 只,母雞 25 只,小雞 75 只
公雞 4 只,母雞 18 只,小雞 78 只
公雞 8 只,母雞 11 只,小雞 81 只
公雞 12 只,母雞 4 只,小雞 84 只

5. c語言 百雞問題,公雞8元一隻,母雞6元一隻,雞仔2元4隻,計算百元所買的公雞、母雞、雞仔數

這個問題很簡單呀!我記得是百元買百雞吧!
#include<stdio.h>
void main()
{
int i,j,k;//分別表示公雞、母雞、雞仔的數量
for(i=0;i<100/8;i++)
for(j=0;j<100/6;j++)
for(k=0;k<200;k++)
{
if(8*i+6*j+0.5*k==100&&i+j+k==100)
{
printf("公雞的數為:%d\n",i);
printf("母雞的數為:%d\n",j);
printf("雞仔的數為:%d\n",k);
}
}
}

這個程序很簡單,對你來說應該沒問題!祝你學習C程愉快!

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語言問題

不對,因為chicks/3這個數是個整數,他取整數部分,也就是說在clicks不是3的整倍數時,結果是錯的。或者把clicks定義成double也許會可以試試。

看一下圖吧,正確結果,能看清嗎?

意思是一樣的,就是兩個等式,錢數和個數相等,用哪個都可以。

因為你要求的循環變數的增幅是定下來的,所以這樣可以,或者還可以增加判斷條件,來滿足要求。結論是沒有問題的,多種方法,多個思路。

8. 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++;
}
}

*總是的進一步討論這類求解不定方程總理的實現,各層循環的控制變數直接與方程未知數有關,且採用對未知數的取值范上窮舉和組合的方法來復蓋可能得到的全部各組解。能否根據題意更合理的設置循環控制條件來減少這種窮舉和組合的次數,提高程序的執行效率,請讀者考慮

9. C語言中百錢百雞的程序

#include<stdio.h>
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("%2d:雞翁數:%2d,雞母數:%2d,雞雛數:%2d\n",++i,a,b,c);
}
}
}
}

10. 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;

}