用Excel處理經(jīng)典“雞兔疑難”地五種辦法

2016-08-05 08:22:11 來源:三聯(lián)用戶投稿作者:clown_ 人氣: 次閱讀 394 條評論

“雞兔問題”是一道古典數(shù)學(xué)問題,源自我國古代四、五世紀的數(shù)學(xué)著作孫子算經(jīng)》。算經(jīng)卷下第三十一題為:“今有雉、兔同籠,上有三十五頭,下有九十四足。問雉、兔各幾何?”原著的解法為:“上...

  “雞兔問題”是一道古典數(shù)學(xué)問題,源自我國古代四、五世紀的數(shù)學(xué)著作《孫子算經(jīng)》。算經(jīng)卷下第三十一題為:“今有雉、兔同籠,上有三十五頭,下有九十四足。問雉、兔各幾何?”原著的解法為:“上署頭,下置足。半其足,以頭除足,以足除頭,即得。”具體解法即:分別列出總頭數(shù)(35)和總足數(shù)(94),總足數(shù)除以二,再減去總頭數(shù)(94÷2-35),得到兔數(shù)為12,總頭數(shù)減去兔數(shù)35-12得到雞數(shù)為23。

  雞兔問題本身并不難,使用2元1次方程組的消元算法,可以很快得到答案。我們可以嘗試著利用excel提供的各種計算工具來進行計算,不僅別有趣味,而且還會加深對Excel功能的綜合掌握,對于講授Excel的教師而言,則是典型的一題多解的素材。

  一、 利用IF函數(shù)試探求解

  如圖1,創(chuàng)建一個二維表,假設(shè)雞數(shù)B2為要求解的單元格,將雞兔的總頭數(shù)和腳數(shù)分別寫入D2和D3單元格,利用已知條件在其他單元格中寫入公式:因兔頭數(shù)=總頭數(shù)-雞頭數(shù),故在C2單元格中寫入=D2-B2;雞腳數(shù)=雞頭數(shù)*2,故B3單元格寫入=B2*2;兔腳數(shù)=兔頭數(shù)*4,故C3單元格寫入=C2*4。

  接下來我們在任意其他單元格輸入一個判斷公式(本例中使用F1單元格),公式內(nèi)容為=IF(D3=B3+C3,"正解!",IF(D3>B3+C3,"高了","低了"))。公式的本質(zhì)是判斷雞腳數(shù)+兔腳數(shù)與總腳數(shù)之間的關(guān)系,如果判斷表達式D3=B3+C3結(jié)果為True,就意味著我們已經(jīng)得到了正確答案。

  最后在B2中輸入35以內(nèi)的任意整數(shù)進行試探求解。如果輸入的數(shù)值高于正解,判斷單元格F1會提示“高了”,若數(shù)值小于正解則提示“低了”,用戶根據(jù)提示再繼續(xù)輸入其他一個數(shù)字,直到輸入了正確答案23,F(xiàn)1單元格會顯示“正解!”。

  這種方法比較直觀,但是非常笨拙,需要人工干預(yù)。即使用戶聰明地使用二分法試探,也需要多次輸入才能解決問題,對于更龐大的問題,這種解法幾乎是不可行的。

用Excel處理經(jīng)典“雞兔疑難”地五種辦法 三聯(lián)

  圖1 利用IF函數(shù)試驗求解