I00013 雞兔同籠

2021-07-11 18:49:57 字數 604 閱讀 2830

這是《孫子算經》捲下中的第31題。

今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何?答曰:雉二十三。兔一十二。

初學者通常用窮舉法來解這種問題,即把所有可能都試一遍,找出滿足條件的解。

即便是使用窮舉法,也需要把程式編得具有一定的通用性,比如說頭或腳的數量變了程式也應該能夠不用修改也能計算。另外迴圈控制方面也應該盡可能的少。

程式中,變數i假定為雞的數量,變數j假定為兔子的數量。那麼,i+j為頭數,2i+4j為腳數。這個程式是經典的窮舉法+試探法的過程,並非是唯一的解法。

程式如下:

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

#include #define min(x, y) (((x)>(y))?(y):(x))

#define heads 35

#define foot 94

int main(void)

程式執行結果如下:

chicken=23, rabbit=12

64 雞兔同籠

時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述 已知雞和兔的總數量為n,總腿數為m。輸入n和m,依次輸出雞和兔的數目,如果無解,則輸出 no answer 不要引號 輸入第一行輸入乙個資料a,代表接下來共有幾組資料,在接下來的 a 10 a行裡,每行都有乙個n和m.0輸出 輸...

例題 雞兔同籠

問題描述 乙個籠子裡面關了雞和兔子 雞有2隻腳,兔子有4隻腳,沒有例外 已經知道了籠子裡腳的總數a,問籠子裡面至少有多少只動物,至多有多少只動物?輸入資料 第一行是測試資料的組數n,後面跟著n行輸入。每組測試資料佔一行,每行包含乙個正整數a a 32768 輸入要求 輸入包含n行,每行對應乙個輸入,...

acm雞兔同籠

描述 已知雞和兔的總數量為n,總腿數為m。輸入n和m,依次輸出雞和兔的數目,如果無解,則輸出 no answer 不要引號 輸入 第一行輸入乙個資料a,代表接下來共有幾組資料,在接下來的 a 10 a行裡,每行都有乙個n和m.0輸出 輸出雞兔的個數,或者no answer 樣例輸入 2 14 32 ...