亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 辦公 > Excel > 正文

用Excel解決經典“雞兔問題”的五種方法

2024-08-23 19:47:12
字體:
來源:轉載
供稿:網友
  “雞兔問題”是一道古典數學問題,源自我國古代四、五世紀的數學著作《孫子算經》。算經卷下第三十一題為:“今有雉、兔同籠,上有三十五頭,下有九十四足。問雉、兔各幾何?”原著的解法為:“上署頭,下置足。半其足,以頭除足,以足除頭,即得?!本唧w解法即:分別列出總頭數(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函數試驗求解

  二、使用模擬運算表,讓Excel自動給出答案

  第一種方法存在的問題就是非常繁瑣,需要用戶干預。為了避免用戶干預,可以考慮將雞兔問題轉化為雙變量模擬運算表,將雞數和兔數設置為兩個變量。具體做法是:

  1. 先在A1:D2單元格中輸入參考數據如下(圖 2):

圖2 參考數據

  2. 創建一個二維模擬運算表的框架,因為雞的數目不會超過腳數/2,即雞最多為47只,同理兔子數目不會超過94/4,即兔最多為24只。我們用第4行表示兔的數目,用第C列表示雞的數目。在D4:AA4中填充1,2,3…24等數值,在C5:C47中填充1,2,3…47,參見圖 4;

  3. 在模擬運算表的左上方C4單元格中輸入模擬運算表的公式:=IF(2*A2+4*B2=$C$2,IF(A2+B2=$D$2,"正解","X"),"X"),公式中的$C$2和$D$2單元格為已知的總腳數和總頭數,A2和B2將作為模擬運算表的兩個變量;

  4. 選中模擬運算表區域,即C4:AA47區域,然后選擇“數據”菜單中的“模擬運算表”菜單項,打開模擬運算表對話框(如圖 3)。在對話框中,輸入引用行的單元格為$A$2(即雞數),輸入引用列的單元格為$B$2(即兔數),單擊“確定”按鈕;

圖 3 輸入引用行和引用列的單元格

  5. 在模擬運算表中會顯示出計算結果,在所有的運算表區域中,只有Z16單元格中顯示了“正確”兩字,其余單元格均為“X”,表示Z16單元格為問題的正解,查表可知,Z16單元格的兔數為12,雞數為23(如圖 4)。

圖 4 模擬運算表運算結果

  這種使用模擬運算表的方法比較“另類”。利用這種思路,不僅可以求解多元一次方程組,還可以求解多解問題。

  三、使用規劃求解,將苦活拋給Excel

  利用Excel的規劃求解功能,我們可以利用計算機高速計算的特性求解雞兔問題。如果用戶的“工具”菜單中沒有“規劃求解”菜單項,可以選擇“工具”à“加載宏”,在“加載宏”對話框中選中“規劃求解”并按下“確定”(如圖 5),此后在“工具”菜單就可以看到“規劃求解”功能了。

圖 5 規劃求解加載宏

  新建一個工作表,單元格B1為總腳數,輸入公式=2*B3+4*B4;B2為總頭數,輸入公式=2*B3+4*B4,B3和B4單元格用于顯示計算雞數和兔數的結果,暫時留空。為求直觀友好,可分別在A1、A2、A3、A4單元格中輸入文字提示:“總腳數”、“總頭數”、“雞數”和“兔數”。如圖 6所示。

圖 6 規劃求解表

  然后選擇“工具”菜單下的“規劃求解”,在“規劃求解參數”對話框中,設置目標單元格$B$1等于固定值94(即總腳數等于94),將可變單元格設置為$B$3:$B$4,即欲求解的雞數B3和兔數B4。在“約束”欄中,添加三個約束條件:$B$2=35(即總頭數等于35),$B$3和$B$4為整數,如圖 7所示。

圖 7規劃求解對話框

  規劃求解參數設置完畢后,按下“求解”按鈕,Excel很快地給出了正確答案:雞數B3單元格為35,兔數B4單元格為11.99999975。求解結果中兔數為小數形式,是規劃求解過程中的計算誤差。因為本問題是二元一次方程組求解,屬于線性問題,用戶可以在規劃求解參數對話框中按下“選項”按鈕,選中“采用線性模型”即可在計算結果中正確顯示整數。

  使用規劃求解,可以利用計算機高速計算的特點對復雜問題建模求解,同樣的思路也適合于解決多解的方程問題。

  四、 利用矩陣函數,線性代數思路解決問題

  雞兔問題是二元一次方程組,可以利用線性代數方法進行求解。根據題意列出二元一次方程組為:

  其中x為雞數,y為兔數。根據方程組由線性代數方法可以列出如下兩組矩陣A和矩陣B:

  

  設所求矩陣為x,則方程組轉化為AX=B,即

  根據如上的數學分析,我們可以利用Excel中矩陣函數的獨特功能,使用矩陣逆函數MINVERSE對矩陣A求逆,然后利用矩陣乘函數MMULT對矩陣A的逆矩陣和B矩陣進行乘法運算,得到的結果矩陣就是方程組的解。

  具體做法如下(參見圖 8):

  1. 在A1:B2區域中輸入矩陣A的數值,在D1:D2區域中輸入矩陣B的數值;

  2. 求取A的逆矩陣。選中B4:C5單元格,輸入數組公式=MINVERSE(A1:B2),確認時必須按下Ctrl+Shift+Enter組合鍵;

  3. 求取A的逆矩陣和B矩陣的乘積。選中B7:B8單元格,輸入數組公式=MMULT(B4:C5,D1:D2),確認時必須按下Ctrl+Shift+Enter組合鍵;

  4. B7、B8單元格的計算結果為23和12,即雞數為23,兔數為12。

圖 8 矩陣函數求解

  使用矩陣函數的方法,在本質上是解決數學中的n元一次方程組的問題,具有比較廣泛的通用性。

  五、 使用VBA編程求解

  雞兔問題也可以編程解決。打開菜單“工具”à“宏”à“Visual Basic編輯器”,選擇VBA編輯器的“插入”à“模塊”菜單,并輸入如下代碼:

  Sub chickrabbit()

  For chick = 1 To 35

  For rabbit = 1 To 35

  If (chick + rabbit = 35) And (2 * chick + 4 * rabbit = 94) Then

  MsgBox "雞的數量為" & chick & ",兔為" & rabbit

  End If

  Next rabbit

  Next chick

  End Sub

  編輯完畢后關閉VBA窗口,然后選擇“工具”à“宏”,然后執行chickrabbit宏,就會彈出正確答案,如圖 9所示。該程序可以做進一步的改進,例如可以改進執行方式、直接調用工作表數據、將輸出結果顯示在Excel單元格中等等,篇幅所限,不再贅述。

圖9

  本文分別使用了IF函數試探、雙變量模擬運算表、規劃求解、矩陣函數和VBA編程等方法對古典雞兔問題進行求解,目的并不是求解簡單數學問題的答案,而是旨在通過多種方法求解,展示Excel的多功能性和解決方式的靈活性,進一步開拓分析問題、解決問題的思路。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本精品免费观看| 热久久视久久精品18亚洲精品| 97国产suv精品一区二区62| 国产成人综合亚洲| 亚洲九九九在线观看| 在线精品视频视频中文字幕| 国产精品流白浆视频| 1769国内精品视频在线播放| 欧美日韩成人精品| 成人精品在线观看| 亚洲国产天堂久久国产91| 国产欧美日韩综合精品| 另类色图亚洲色图| 欧美日韩在线免费观看| 亚洲精品国产福利| 国产精品偷伦一区二区| 粉嫩老牛aⅴ一区二区三区| 日本精品中文字幕| 中文字幕在线观看亚洲| 大荫蒂欧美视频另类xxxx| 亚洲一区二区三区四区视频| 欧美香蕉大胸在线视频观看| 日韩成人免费视频| 国内精品久久久久久中文字幕| 亚洲成人性视频| 国产精品第二页| 国产999精品久久久影片官网| 欧美性猛交xxxx乱大交3| 欧美日本高清一区| 欧美激情一级二级| 国产精品久久久久久超碰| 亚洲精品福利免费在线观看| 久久国产精品99国产精| 欧美另类69精品久久久久9999| 日本国产欧美一区二区三区| 欧美午夜电影在线| 精品国产乱码久久久久久虫虫漫画| 精品国产网站地址| 一区二区国产精品视频| 中文字幕日韩欧美| 色偷偷av亚洲男人的天堂| 日韩免费在线免费观看| 精品国产福利在线| 日韩中文字幕在线播放| 亚洲女人天堂网| 668精品在线视频| 亚洲欧美精品中文字幕在线| 国产视频亚洲视频| 国产精品影院在线观看| 欧美性色视频在线| 欧美大人香蕉在线| 欧美国产乱视频| 日韩电影免费在线观看中文字幕| 国产亚洲一区二区精品| 亚洲a区在线视频| 亚洲欧美日本精品| 亚洲xxxx视频| 一区二区三区动漫| 亚洲成人网在线观看| 国产深夜精品福利| 日本91av在线播放| 国产在线高清精品| 亚洲国产婷婷香蕉久久久久久| 中文字幕国产亚洲2019| 亚洲免费伊人电影在线观看av| 欧美成人精品在线播放| 亚洲美女又黄又爽在线观看| 亚洲free性xxxx护士白浆| 91中文在线视频| 亚洲国产高清高潮精品美女| 欧美剧在线观看| 97视频在线观看免费高清完整版在线观看| 成人a级免费视频| 日韩精品在线免费播放| 免费91麻豆精品国产自产在线观看| 中文字幕不卡av| 92看片淫黄大片欧美看国产片| 国产suv精品一区二区| 久久精品久久久久电影| 日韩av在线播放资源| 精品久久久久久亚洲精品| 精品美女永久免费视频| 91久久精品视频| 一个人看的www久久| 亚洲bt天天射| 亚洲精美色品网站| 欧美精品生活片| 亚洲欧美在线第一页| 欧美精品videossex性护士| 亚洲精品av在线播放| 日韩电影中文 亚洲精品乱码| 日韩免费av片在线观看| 国产一区二区三区丝袜| 欧美大片第1页| 欧美大片在线看免费观看| 神马国产精品影院av| 青青青国产精品一区二区| 尤物九九久久国产精品的特点| 日韩欧美在线视频观看| 色综合天天综合网国产成人网| 97色在线观看免费视频| 欧美成人午夜激情| 亚洲伊人久久大香线蕉av| 国产欧美在线看| 日本亚洲欧美三级| 国产精品99久久久久久白浆小说| 欧美成人精品激情在线观看| 国产亚洲欧美另类中文| 日韩网站免费观看高清| 亚洲最大的av网站| 亚洲香蕉成人av网站在线观看| 欧美亚洲成人xxx| 精品久久久久久久久久久久久久| 国产精品一区av| 精品高清美女精品国产区| 91久热免费在线视频| 午夜欧美大片免费观看| 亚洲淫片在线视频| 国产成人精品免高潮在线观看| 色婷婷综合成人| 国产精品三级在线| 亚洲精品国产精品国自产在线| 57pao国产精品一区| 精品视频在线播放色网色视频| 亚洲最新av网址| 国产精品草莓在线免费观看| 91深夜福利视频| 狠狠躁夜夜躁久久躁别揉| 日韩av在线一区二区| 亚洲福利精品在线| 国产日韩精品视频| 欧美日韩成人免费| 亚洲sss综合天堂久久| 91精品国产91久久久久久吃药| 久久精视频免费在线久久完整在线看| 亚洲a成v人在线观看| 国精产品一区一区三区有限在线| 日韩电视剧免费观看网站| 欧美极品xxxx| 中文字幕国产亚洲| 日韩av网站电影| 亚洲激情中文字幕| 精品久久久久久电影| 国产一区二区三区在线观看网站| 国产精品久久久久77777| 欧美乱大交做爰xxxⅹ性3| 日韩暖暖在线视频| 日韩中文字幕av| 亲子乱一区二区三区电影| 日本人成精品视频在线| 国产v综合v亚洲欧美久久| 日韩的一区二区| 91九色蝌蚪国产| 久久国产精品影片| 国产91精品久久久久| 欧美电影免费看| 亚洲国产精品久久久久秋霞蜜臀| yw.139尤物在线精品视频| 久久亚洲成人精品| 91久久精品国产91久久性色| 性日韩欧美在线视频| 成人午夜黄色影院| 久久久女人电视剧免费播放下载| 国产精品日韩精品|