![百雞百錢問題實驗報告_第1頁](http://file4.renrendoc.com/view12/M07/2B/23/wKhkGWXQE_6AUEpeAAH572_3tVk206.jpg)
![百雞百錢問題實驗報告_第2頁](http://file4.renrendoc.com/view12/M07/2B/23/wKhkGWXQE_6AUEpeAAH572_3tVk2062.jpg)
![百雞百錢問題實驗報告_第3頁](http://file4.renrendoc.com/view12/M07/2B/23/wKhkGWXQE_6AUEpeAAH572_3tVk2063.jpg)
![百雞百錢問題實驗報告_第4頁](http://file4.renrendoc.com/view12/M07/2B/23/wKhkGWXQE_6AUEpeAAH572_3tVk2064.jpg)
![百雞百錢問題實驗報告_第5頁](http://file4.renrendoc.com/view12/M07/2B/23/wKhkGWXQE_6AUEpeAAH572_3tVk2065.jpg)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE4百雞百錢問題摘要:本次報告主要討論百雞百錢問題,通常使用蠻力法策略,用枚舉法來表現(xiàn),列舉出滿足問題條件的解,排除一些明顯不合理情況,分別驗證解的可行性,得到最優(yōu)算法。關(guān)鍵詞:蠻力法;枚舉法;百雞百錢;HundredchickensmoneyAbstract:Thispaperreportshundredchickensmoney,usuallyusingabruteforcemethodstrategy,useenumerationmethodtotheperformance,meettheconditionslistedproblemsolution,excludesomeobviousunreasonablesituation,respectively,toverifythefeasibilityofthesolution,optimalalgorithm.Keywords:thebruteforcemethod;enumeration;hundredchickensmoney;1引言在求解一個較小規(guī)模的問題時,可以根據(jù)問題中的約束條件把可能的情況一一列舉出來,然后注意嘗試從中找到滿足約束條件的解,若該問題規(guī)模較大,符合條件的情況很多,則需要進一步考慮,排除一些明顯不合理的情況,盡可能減少問題可能解的列舉數(shù)目。2問題概述公元前5世紀(jì),我國古代數(shù)學(xué)家張丘建在他的《算經(jīng)》中提出了著名的百雞百錢問題“雞翁一,值錢五;雞母一,值錢三;雞雛一,值錢一;百錢買百雞,雞翁,母,雛各幾何?”算法設(shè)計根據(jù)問題中的約束條件將可能的情況一一列舉出來,但如果情況很多,排除一些明顯的不會理的情況,盡可能減少問題可能解的列舉數(shù)目,然后找出滿足問題條件的解。完成百雞百錢問題的常規(guī)算法(懶惰枚舉)的實現(xiàn)和改進算法(非懶惰枚舉)的實現(xiàn),以實驗方法證明對于同一問題可以有不同的枚舉范圍,不同的枚舉對象,解決問題的效益差別會很大。算法設(shè)計一懶惰枚舉法:首先問題有三種不同的雞,那么我們可以設(shè)雞翁為x只,雞母為y只,雞雛為z只。由題意給出一共要用100錢買一百只雞,如果我們?nèi)抠I雞翁最多可以買100/5=20只,顯然x的取值范圍是1~20之間;如果全部買雞母最多可以買100/3=33只,顯然y的取值范圍在1~33之間;如果全部買雞雛最多可以買100*3=300只,可是題目規(guī)定是買100只,所以z的取值范圍是1~100.那么約束條件為:x+y+z=100且5*x+3*y+z/3=100。流程圖如下所示:懶惰算法算法語言描述main(){intx,y,z;//定義雞翁,雞母,雞雛 intcount=0;//統(tǒng)計時間復(fù)雜度的變量 for(x=1;x<=20;x++)//雞翁的取值范圍for(y=1;y<=34;y++)//雞母的取值范圍for(z=1;z<=100;z++)//雞雛的取值范圍100==x+y+zand100==5*x+3*y+z/3;//約束條件 Cout<<x<<y<<z;//輸出雞翁,雞母,雞雛的可能取值count++;//統(tǒng)計此算法的時間復(fù)雜度} 程序運行結(jié)果截圖:圖1——懶惰算法程序運行截圖算法設(shè)計二非懶惰枚舉法:假如我設(shè)了雞翁和雞母的個數(shù)為x和y了,那么雞翁和雞母的數(shù)量就是確定的,那么雞雛的數(shù)量就是固定的為100-x-y,那么此時就不再需要進行枚舉了,約束條件就只有一個了:5*x+3*y+z/3=100.非懶惰算法算法語言描述main(){intx,y,z;intcount;for(x=1;x<=20;x++)for(y=1;y<=33;y++){z=100-x-y;if(zmod3=0and5*x+3*y+z/3=100)cout<<x<<y<<z;//輸出雞翁,雞母,雞雛的可能取值count++;//統(tǒng)計此算法的時間復(fù)雜度} }流程圖如下所示:程序運行結(jié)果截圖:圖2——懶惰算法程序運行截圖4算法分析懶惰枚舉法需要嘗試20*34*100=68000次,算法的效率顯然很低。非懶惰枚舉法只須嘗試20*33=660次。實現(xiàn)時約束條件又限定z能被3整除時,才會判斷“”。這樣省去了不整除3時的算術(shù)計算和條件判斷,進一步提高了算法的效率。5結(jié)束語由上述實例可以看出,枚舉法是蠻力策略的一種變現(xiàn)形式,也是一種使用非常普遍的思維方法。然而對于同一個問題,可以選擇不同的枚舉范圍,不同的枚舉對象,這樣解決問題的效率差別可能會很大。所以選擇合適的方法會讓解決問題的效率大大提高。經(jīng)過這次的實驗,我們充分的認(rèn)識到團隊合作的重要性,正所謂“聚做一團火,散成滿天星”,我們要繼續(xù)加油,在算法的道路中,走的更遠(yuǎn)。6參考文獻鄭莉董淵.北京:清華大學(xué)出版社,2009.8嚴(yán)蔚
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村家庭貧困戶申請書
- 初級公司信貸-銀行專業(yè)初級《公司信貸》??荚嚲?
- 企業(yè)數(shù)據(jù)運行安全保護策略
- 入團申請書要
- 2024-2025學(xué)年山東省百師聯(lián)考高一上學(xué)期12月聯(lián)考物理試題(解析版)
- 2024-2025學(xué)年內(nèi)蒙古自治區(qū)赤峰市寧城縣高一上學(xué)期1月期末英語試題(解析版)
- 知識產(chǎn)權(quán)意識培育大學(xué)生創(chuàng)新創(chuàng)業(yè)必修課
- 生物科技在公共衛(wèi)生領(lǐng)域的應(yīng)用
- Module1 Unit2 Its more than four hundred metres high2023-2024學(xué)年六年級英語
- Module2Unit1Weremakingacake2023-2024學(xué)年三年級英語
- 超前小導(dǎo)管施工作業(yè)指導(dǎo)書
- 中國律師學(xué)完整版課件全套教學(xué)ppt教程
- 守紀(jì)律講衛(wèi)生懂禮儀
- 腦控受害者解救方法
- 滁州市城市規(guī)劃管理技術(shù)規(guī)定
- 保理業(yè)務(wù)解決方案
- 圖紙會審答疑
- PCCP安裝與水壓試驗
- 景觀生態(tài)學(xué)教學(xué)大綱(共10頁)
- 招標(biāo)工作手冊
- 鍛件的結(jié)構(gòu)設(shè)計與工藝性分析
評論
0/150
提交評論