- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模拟(Simulation)-丁培毅
模擬(Simulation)
丁培毅
1
運用電腦的速度與記憶體
• 很多事情其實方法很簡單, 只是需要很大量的計算, 需
要紀錄很多的資料, 才能夠完成, 這個時候我們可以盡
量運用電腦的速度和記憶體來達成我們的需求
• 模擬(Simulation) – 就是當方法很簡單, 只是數量很
大, 或是需要相當多的記憶體, 有許多參數需要嘗試時,
讓電腦模擬每一種參數的運作, 嘗試看看來得到結果
• 以下我們用一些例子來說明什麼時候可以用模擬來解
決問題, 比較廣義的模擬其實也不要求方法很簡單, 例
如一些機率的實驗, 用模擬來做時常常是因為機率計
算太複雜了, 不如用實驗方法來做, 比較常聽到的名字
是蒙地卡羅法(Monte Carlo method); 又例如很多暴
力的搜尋法像是數獨、西洋棋、象棋、圍棋一類的如
果你可以考慮所有的可能, 其實可以找到最好的答案 2
計算某一天是第幾天
• 指定某一個日期(例如: 2015/10/10), 請問是由
1970/01/01 算過來第幾天
• 例如: 1970/01/01答案是第 1 天, 1970/01/25 是第
25 天, 1971/01/01 是第366 天, 2015/10/10 是第
16719 天
• 程式該怎麼算出這個答案呢? 如果是手算的話, 最簡
單的概念也就是屈指數一數了, 不過2015/10/05 真
的用手指頭算有點辛苦了, 還是用程式算吧, 也就是
模擬一下, 由1970/01/01 日開始是第1 天, 一直算到
2014, 每過一年加上365 (平年) 或是366 (閏年), 由
1 月開始算到9 月, 每過一個月加上那個月有幾天(
閏年2 月是29 天), 最後再加上4 (那個月幾號), 如
此模擬一下屈指數數的動作 3
UVa 11093 Just Finish it Up
• 沿著一環狀道路上,有N 個加油站,編號從 1 到N ,第i 個加油站
提供pi 加侖的汽油。比賽從第i 個加油站開始,依順時針方向到第j
個加油站加p 加侖的汽油,假設汽車的油箱永遠足夠大,同時汽車
j
起跑時油箱是空的。你的任務是確定汽車是否能完成比賽 ,如果它
可以完成,從哪一個加油站開始可以完成? 請找到最小的i 值。
• 輸入 :整數T 為測試案例的數量,每個測試案例包含一個整數N ,
表示有 N 個加油站,接下來 N 個整數代表加油站i 提供pi 加侖的
汽油,隨後的 N 個整數q 是汽車由加油站i 到加油站i%N+1 所需
i
的汽油量(單位加侖) 。 q1
• 輸出 :對於每個測試案例,請輸出“Case t: ” , p1 p2
其中t 是從 1 到T ,然後顯示是否可能完成一 qN q2
圈。如果不可能,顯示“Not possible\n” ;如果 pN p3
可能,則顯示“Possible from station x\n” ,其
q3
中加油站x 是編號最小而可以完成一圈的加油站。 …
文档评论(0)