“雞兔問題”是一道古典數學問題,源自我國古代四、五世紀的數學著作《孫子算經》。算經卷下第三十一題為:“今有雉、兔同籠,上有三十五頭,下有九十四足。問雉、兔各幾何?”原著的解法為:“上署頭,下置足。半其足,以頭除足,以足除頭,即得。”具體解法即:分別列出總頭數(35)和總足數(94),總足數除以二,再減去總頭數(94÷2-35),得到兔數為12,總頭數減去兔數35-12得到雞數為23。
雞兔問題本身並不難,使用2元1次方程組的消元算法,可以很快得到答案。我們可以嘗試著利用Excel提供的各種計算工具來進行計算,不僅別有趣味,而且還會加深對Excel功能的綜合掌握,對於講授Excel的教師而言,則是典型的一題多解的素材。
一、 利用IF函數試探求解
如圖1,創建一個二維表,假設雞數B2為要求解的單元格,將雞兔的總頭數和腳數分別寫入D2和D3單元格,利用已知條件在其他單元格中寫入公式:因兔頭數=總頭數-雞頭數,故在C2單元格中寫入=D2-B2;雞腳數=雞頭數*2,故B3單元格寫入=B2*2;兔腳數=兔頭數*4,故C3單元格寫入=C2*4。
接下來我們在任意其他單元格輸入一個判斷公式(本例中使用F1單元格),公式內容為=IF(D3=B3+C3,"正解!",IF(D3>B3+C3,"高了","低了"))。公式的本質是判斷雞腳數+兔腳數與總腳數之間的關系,如果判斷表達式D3=B3+C3結果為True,就意味著我們已經得到了正確答案。
最後在B2中輸入35以內的任意整數進行試探求解。如果輸入的數值高於正解,判斷單元格F1會提示“高了”,若數值小於正解則提示“低了”,用戶根據提示再繼續輸入其他一個數字,直到輸入了正確答案23,F1單元格會顯示“正解!”。
這種方法比較直觀,但是非常笨拙,需要人工干預。即使用戶聰明地使用二分法試探,也需要多次輸入才能解決問題,對於更龐大的問題,這種解法幾乎是不可行的。
圖1 利用IF函數試驗求解