c語言雞兔同籠問題,C語言 雞兔同籠問題

2021-07-28 03:06:39 字數 4321 閱讀 2562

1樓:杜哥是個小天才

#include

using namespace std;

int main()

int a,b,c,d;

a=35,b=94;

c=2*a-b/2;

d=b/2-a;

cout<<"c="

拓展資料c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

2樓:匿名使用者

各位對異常情況的理解有點問題哈,其實很簡單。

c程式總是能算出答案,無論什麼資料,只是這個資料無法再算回去。

因此,異常的情況是m != 4 * a + b * 2 || n != a + b,當然,要注意m,n不能小於1,負數和0不是有效輸入。

另舉兩個我認為有趣的解法:

讓雞和兔都舉起兩隻腳,這裡應該只能數到兔子的腳,(m - 2*n)/2即得兔子的數量。

讓雞放下翅膀當腳,這時有4n個腳,其中真的腳只有m個,有4*n - m個翅膀,雞的數量是(4 * n - m) / 2

3樓:匿名使用者

我覺得要用double,因為你要看它是不是自然數。int是整數,你儲存在int中怎麼可能為小數呢,而且你沒有看是不是正數。公式也有問題。

我寫的幫我看看

#include

int main(void)

4樓:嚴付友納念

c要從0開始迴圈,因為你不知道是不是一隻雞也沒有。

printf跟的變數都是要取地址的,正確的寫法是printf("%d

%d",&c,&d);

你確定主函式返回值是void?你確定程式末尾不用return0?不符合noip規定哦

p.s.-

-我不能接受明顯的語法錯誤會好好的沒問題……

5樓:磨棠澹臺博超

給你兩個建議、第

一、如果輸入腳數大於頭數怎麼辦?、、第

二、如果算出來的數為小數點怎麼辦?、、最後、給你說說scanf這個函式、必須有

&這個符號

、在這個階段你只需要記住、、scanf("%d%d",h,f);需要改為scanf("%d%d",&h,&f);、、

6樓:倒黴熊

你使用的是下面這個演算法:

雞的只數=(4×雞兔總只數-雞兔總腳數)÷2兔的只數=雞兔總只數-雞的只數

但是不懂的是

if(a%1!=0||b%1!=0)

你這裡是什麼意思??

另外,輸出時,別輸出\n 這種多餘的字元,只按照要求以空格分隔就好了??

7樓:匿名使用者

就是啊,你沒有考慮異常的情況,腿不能使奇數吧

8樓:匿名使用者

include

int main(void)

b=(m - n * 2) / 2;

a=n-b;

printf("%d %d\n",a,b);

return 0;}

雞兔同籠的問題 c語言怎麼樣編寫

9樓:木澂

1、編寫思路如下:

假設有x只雞,y只兔,兩者一共有m只頭,n只腳,則有:

x + y = m ; 2 * x + 4 * y = n ;

即得到關係式,x + 2y =n/2 , x + y = m , y = n/2 - m , x = 2 * m - n/2。

2、**及註釋如下:

#include

main ( )

int a, b ;

printf("請分別輸入動物頭與腳的數目:\n");

scanf("%d%d",&a,&b); //頭數為a, 腳數目為b;

printf("一共有%d只雞,%d只兔子\n",b/2-a,2 * a - b/2);

10樓:哇哎西西

雞兔同籠是中國古代的數學名題之一。

大約在2023年前,《孫子算經》中就記載了這個有趣的問題。書中是這樣敘述的:

今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何?

這四句話的意思是:

有若干只雞兔同在一個籠子裡,從上面數,有35個頭,從下面數,有94只腳。問籠中各有多少隻雞和兔?

已知雞和兔的總數量為n,總腿數為m。輸入n和m,依次輸出雞和兔的數目,如果無解,則輸出“no answer”

程式如下:

#include int main()

return 0;

11樓:阿豪呦

輸入說明: 輸入為兩個正整數,第一個為 m 的值,第二個為 n 的值,用空格分隔。

輸出說明: 若有解,輸出兩個整數,用空格分隔,第一個代表雞的只數,第一個代表兔子的只數;若無解,直接輸出一個 0。

演算法:以列舉法寫程式,讓計算機從雞為0開始執行計算,利用迴圈語句計算大量次數後,得出最終結果。

具體程式為:

#include

int main()

}//for執行完表示找不到

printf("0");return 0;}

擴充套件資料:

雞兔同籠問題演算法有很多種,編寫出的程式不盡相同。下面列舉幾種演算法,編寫程式會更為簡單一些。

有若干只雞兔同在一個籠子裡,從上面數,有35個頭,從下面數,有94只腳。問籠中各有多少隻雞和兔?

(1)假設全是雞:2×35=70(只),雞腳比總腳數少:94-70=24 (只)

兔子比雞多的腳數:4-2=2(只),兔子的只數:24÷2=12 (只),雞的只數:35-12=23(只)

假設全是兔子:4×35=140(只),兔子腳比總數多:140-94=46(只)

兔子比雞多的腳數:4-2=2(只),雞的只數:46÷2=23(只),兔子的只數:=35-23=12(只)(2)設雞有x只,兔有y只。解得

12樓:

#include "stdio.h"

void main()

}printf("請輸入雞與兔子的腳的總數\n");

while(scanf("%d",&b)!=1)}c=(4*a-b)/2;

d=a-c;

if(c>=0&&d>=0)

else printf("同學,我看你給的數有錯吧!");

}else printf("同學,我看你給的數有錯吧!");}

13樓:星月小木木

#include

int main()

14樓:匿名使用者

我幫你編一個試試

假設有head個頭和foot只腳 程式如下:

#include

void main()}

15樓:飛躍成都躍宇佳

#include

int main ()

else

x=(4*a-b)/2;

y=a-x;

if(2*x+4*y==b)

printf("雞%d\n兔%d\n",x,y); //x表示雞數,y表示兔數//

return 0;}

用c語言編寫雞兔同籠問題

16樓:匿名使用者

int m = 0, n = 0;

int a, b;

printf("總頭數");

scanf("%d",&n);

printf("總腿數");

scanf("%d",&m);

b = (m - 2n )/2

a = n - b;

if( a + b == n && 2 * a + 4 * b = m && a >= 0 && b >= 0)

printf("雞和兔各%d, %d只", a, b);

else

printf("no answer");

17樓:育知同創教育

#include

#define max 10

int main()

return 0;

}主要明白雞隻有兩隻腳,兔有四隻腳。

數學 雞兔同籠問題,數學應用題(雞兔同籠問題)

1 五種可能 3個5分1個1分 2個5分2個1分 3個5分1個1分 4個5分 4個1分 不過你想下還又沒有其他可能 2 解 設排球為x元,則藍球為x 8元 4 x 8 5x 185 4x 32 5x 185 9x 185 32 9x 153 x 17 排球每個17元,籃球每個17 8 25元 設蜘蛛...

雞兔同籠的問題怎麼解,雞兔同籠問題解法

1假設法。設全是雞,則兔的只數為 總頭數 2 總腳數 2 設全是兔,則雞的只數為 總頭數x4 總腳數 2 總隻數 雞隻數 兔隻數。基本原理 總頭數x2如果 總腳數,說明全是雞,如果 總腳數,說明其中有兔,每少2隻腳就有1只兔。總頭數 4 總腳數,說明全是兔,如果 總腳數,說明其中有雞,每多2只就有1...

雞兔同籠問題如何用方程解答,雞兔同籠問題如何用方程解

雞兔同籠問題 假設法 假設 計算 推理 解答 算數法 總腳數 2 總頭數 兔的隻數 總隻數 兔的隻數 雞的隻數 口訣法 腳半減頭是兔子,頭四減腳半為雞。意思是腳數的一半減去頭數是兔子的數,頭的四倍減腳的數的一半是雞的數。方程法 a個頭,b條腿 設有雞x只 那麼兔子有 a x只 則x 2 a x 4 ...