一、 本次課主要內容:
通過幾個實例來進一步掌握循環結構的應用。
二、 實驗內容:(70分)
1. 窮舉算法(古典算術問題-搬磚頭)某地需要搬運磚塊,已知男人一人搬3塊,女人一人搬2塊,小孩兩人搬一塊。問用45人正好搬45塊磚,有多少種搬法?
2. 猴子吃桃問題。一只猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個;第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半加一個。到第n天早上想再吃時,見只剩下一個桃子了。問:第一天共摘了多少個桃子?試編寫相應程序。(提示:采取逆向思維的方法,從后往前推斷。)
3. 兔子繁衍問題。一對兔子,從出生后第3個月起每個月都生一對兔子。小兔子長到第3個月后每個月又生一對兔子。假如兔子都不死,請問第1個月出生的一對兔子,至少需要繁衍到第幾個月時兔子總數才可以達到n對?輸入一個不超過10000的正整數n,輸出兔子總數達到n最少需要的月數。試編寫相應程序。
4. 韓信點兵:在中國數學史上,廣泛流傳着一個"韓信點兵"的故事:韓信是漢高祖劉邦手下的大將,他英勇善戰,智謀超群,為漢朝建立了卓越的功勞。據說韓信的數學水平也非常高超,他在點兵的時候,為了知道有多少兵,同時又能保住軍事機密,便讓士兵排隊報數:
按從1 至5 報數,記下最末一個士兵報的數為1;
再按從1 至6 報數,記下最末一個士兵報的數為5;
再按從1 至7 報數,記下最末一個士兵報的數為4;
最后按從1 至11 報數,最末一個士兵報的數為10;
你知道韓信至少有多少兵?
5. 黑洞數:黑洞數也稱為陷阱數,又稱"Kaprekar問題",是一類具有奇特轉換特性的數。任何一個數字不全相同的三位數,經有限次"重排求差"操作,總會得到495。最后所得的495即為三位黑洞數。所謂"重排求差"操作即組成該數的數字重排后的最大數減去重排后的最小數。(6174為四位黑洞數)
例如,對三位數207:
第1次重排求差得:720-027=693;
第2次重排求差得:963-369=594;
第3次重排求差得:954-459=495;
以后會停留在495這一黑洞數。如果三位數的3個數字全相同,一次轉換后即為0。
試求出任意輸入三位數重排求差的過程。
輸入輸出示例
123
321 - 123 = 198
981 - 189 = 792
972 - 279 = 693
963 - 369 = 594
954 - 459 = 495
6. 水仙花數:輸入兩個正整數m和n(m≥1, n≤1000),輸出m 到n之間的所有水仙花數。水仙花數是指各位數字的立方和等於其自身的數。例如153的各位數字的立方和是13 + 53 + 33 = 153。試編寫相應程序。
7. 求最大公約數和最小公倍數。輸入兩個正整數m和n(m<=1000,n<=1000),求其最大公約數和最小公倍數。試編寫相應程序。
三、 實驗要求:
1. 作業的Deadline: 2016-10-20 23:00pm
2. 將本次實驗內容的代碼上傳到https://coding.net/ 網站。 (70分)
3. 寫一篇隨筆,內容分為四個部分:(總分30分)
寫出本次課學習到的知識和體會、學習的時長、學習過程中遇到的問題、問題解決的方法及問題的疑惑等。
隨筆的格式如下:
題目:實驗六——循環結構程序練習總結
本次課學習到的知識點:(5分)
(1)…….
(2)……..
………..
2. 實驗過程中遇到的問題及解決方法:(10分)
(1)
(2)
…….
3. 實驗心得體會及本章學習總結(5分)
………
四、 預習下次課:
預習教材P96-103頁中函數的定義,並完成練習5-1、練習5-2,下節課上課前帶入實驗室進行檢查(10)
五、 本次作業評價方式:
總分100分:其中,coding中程序提交70分(根據代碼的步驟、格式、注釋、結構正確性來酌情分配),博客書寫30分;,延遲一天扣10分,直至扣完100分,如果后期想要拿回本次的100分,就需要完成附加題來彌補,根據完成情況給出不超過100分。