通過數學方法解答:
假設法:
1.假設籠子裡都是雞,則雞是兩隻腳的,35*2=70隻腳,總腳數有94隻,減去70隻腳,剩下24隻,則得出兔數=24/2=12隻。雞的只數:35-12=23(只)
2.假設籠子裡都是兔子,兔子是四隻腳的,35*4=140隻,總腳數才+94隻,140隻腳減去94隻腳得到46隻腳,則得出雞數46/2=23隻;兔子的只數:35-23=12(只)
抬腿法
方法一
假如讓雞抬起一隻腳,兔子抬起2隻腳,還有94÷2=47(只)腳。籠子裡的兔就比雞的腳數多1,這時,腳與頭的總數之差47-35=12,就是兔子的只數。
方法二
假如雞與兔子都抬起兩隻腳,還剩下94-35×2=24隻腳 , 這時雞是屁股坐在地上,地上只有兔子的腳,而且每隻兔子有兩隻腳在地上,所以有24÷2=12隻兔子,就有35-12=23隻雞。
方法三
我們可以先讓兔子都抬起2隻腳,那麼就有35×2=70隻腳,腳數和原來差94-70=24隻腳,這些都是每隻兔子抬起2隻腳,一共抬起24隻腳,用24÷2得到兔子有12隻,用35-12得到雞有23隻。
列表法
腿數雞(只數)兔(只數)88269902510922411942312今天就用scratch編程的方式用兩種方法來解這種類型的題目.
程序分析:
可填在百位、十位、個位的數字都是1、2、3、4。通過for循環多層嵌套把組成所有的排列後,再通過if條件語句去掉不滿足條件的排列。最後通關變量統計所有不重複的總個數.
我們假設全是兔,相當於要讓每隻雞多長出兩條腿,然後用一共多出來的腿數除以每隻雞多出來的腿數,就得到了雞的數量。
把假設法抽象到Scratch程序中,就需要建立4個變量:
1.雞的數量
2.雞的腿數
3.兔子的數量
4.兔子的腿數
轉換為Scratch程序為:
隨機法和列舉法在現實軟體項目開發中經常會運用到,對於程序猿來說,就是一個邏輯循環的過程,雖然計算機並不是一個智商很高的東西,但目前它的運算能力和速度足夠贏過我們的大腦,所以這種方法最適合它。
我用隨機法的思路畫了下列的流程圖,理解起來很容易。
在1-35隻數量裡面隨機取一個整數,做為雞的數量,那麼兔子的數量就是35-隨機數。再去判斷它們的腿數和是否為94.如果判斷正確就輸出結果,判斷不正確則繼續執行循環。
轉換為Scratch程序為: