雞兔同籠問題

2022-03-20 12:54:44 字數 1842 閱讀 9730

雞兔同籠,是中國古代著名典型趣題之一,記載於《孫子算經》之中。雞兔同籠問題,是小學奧數的常見題型。許多小學算術應用題和填空題都可以轉化成這類問題,或者用解它的典型解法--"假設法"來求解。因此很有必要學會它的解法和思路。通常是假設法比較簡單易懂一點。

雞兔同籠是中國古代的數學名題之一。大約在2023年前,《孫子算經》中就記載了這個有趣的問題。書中是這樣敘述的:

這四句話的意思是:

最簡單的方法實現如下:

<?php

//解法1 雙重迴圈雞兔 (這也是最基礎的迴圈解法)

// 雞+兔=35

// 2*雞+4*兔=94

$total_head=35;

for ($chicken=1; $chicken

< $total_head; $chicken++)

---rabbit:";

break 2;}}

}?>

這個是比較傻的用兩個變數來迴圈 迴圈之後還判斷兩個條件同時滿足,然後就結束迴圈。

稍微提公升一點是下面這樣的做法

<?php

//解法2 迴圈雞的數量 算出兔子的數量

// 雞+兔=35

// 2*雞+4*兔=94

$total_head=35;

for ($chicken=1; $chicken

< $total_head; $chicken++)

---rabbit:";

break

; }

}?>

或者是這樣的

<?php

//解法3 迴圈兔子的數量 計算雞的數量 通常情況下可以迴圈少一點(仔細想想這是為什麼)

// 雞+兔=35

// 2*雞+4*兔=94

$total_head=35;

for ($rabbit=1; $rabbit

< $total_head; $rabbit++)

---rabbit:";

break

; }

}?>

使用乙個變數取代著表示另外乙個變數然後完成這個迴圈 就稍微簡單一點

下面的解法思路上稍微要繞個彎了

<?php

//解法4 砍足法

// 雞+兔=35

// 2*雞+4*兔=94

// 所有的動物砍掉兩條腿 那麼 雞沒有腿 兔子少兩條腿 35個腦袋 應砍掉70條腿

// 剩餘的94-70=24 都是兔子腿,則兔子24/2=12 雞 35-12=23

$total_head=35;

$total_foot=94;

$rabbit=($total_foot-2*$total_head)/2;

$chicken=$total_head-$rabbit

;echo "chicken:---rabbit:";

?>

或者是這樣

<?php

//解法5 增足法

// 雞+兔=35

// 2*雞+4*兔=94

// 所有的雞增加兩條腿 那麼 雞兔都是四條腿了 35個腦袋 應該有 35*4=140條腿

// 多出來的腿都是雞的腿 多出來140-94=46,則雞有46/2=23 兔子 35-23=12

$total_head=35;

$total_foot=94;

$chicken=(4*$total_head-$total_foot)/2;

$rabbit=$total_head-$chicken

;echo "chicken:---rabbit:";

?>

雞兔同籠問題

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

雞兔同籠問題

雞兔同籠,是中國古代著名典型趣題之一,記載於 孫子算經 之中。雞兔同籠問題,是小學奧數的常見題型。許多小學算術應用題和填空題都可以轉化成這類問題,或者用解它的典型解法 假設法 來求解。因此很有必要學會它的解法和思路。通常是假設法比較簡單易懂一點。雞兔同籠是中國古代的數學名題之一。大約在1500年前,...

雞兔同籠問題

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