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

2021-07-28 03:06:38 字數 4321 閱讀 7405

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");

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;

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

雞兔同籠的簡便演算法,雞兔同籠的問題 c語言怎麼樣編寫

雞兔同籠的簡便演算法 假設法。舉例如下 有若干只雞兔同在一個籠子裡,從上面數,有35個頭,從下面數,有94只腳。求籠中雞和兔的只數。1 假設全是雞 2 35 70 只 雞腳比總腳數少 94 70 24 只 兔子比雞多的腳數 4 2 2 只 兔子的只數 24 2 12 只 雞的只數 35 12 23 ...

雞兔同籠問題求解,雞兔同籠問題

分析與解 因為100文錢,買100只雞,所以平均1文錢買1只雞。每小組4只雞 其中1只母雞和3只小雞,共值4文錢。因為1只母雞3文錢,3只小雞1文錢 恰好是平均1文錢買1只雞。每大組7只雞 其中1只公雞和6只小雞。共值7文錢。因為1只公雞5文錢,3只小雞1文錢,6只小雞2文錢 恰好是平均1文錢買1只...

用c語言程式設計雞兔同籠,有三十五隻頭,腳,求雞兔各有多少

include void main include void main 雞兔同籠問題,一個籠子裡有三十五個頭,九十四隻腳,問雞和兔各有多少隻 雞23只兔12只。2x十4y二35,x二23,y二12 雞兔同籠共有三十五個頭九十四隻腳籠中雞和兔子各有多少隻 解 設雞有 x只,兔有35 x只,2x 4 3...