【測驗M03】 [回前頁]
1 、輸入兩個2位數的整數,求其直式相乘之過程及結果。輸出時,請把運算過程列印出來,輸出格式必須對齊(16%)。
範例:
輸入:58 64
輸出:
5 8
× 6 4
----------------
2 3 2
3 4 8
----------------------
3 7 1 2
2.請設計一個不公平的骰子程式,其各點出現機率分佈如下:六點出現的機率為五點的兩倍,五點出現的機率為四點的兩倍,四點出現的機率為三點的兩倍,三點出現的機率為兩點的兩倍,兩點出現的機率為一點的兩倍。今執行此骰子程式,共擲200次骰子。請將200次的結果及每點出現的次數列出。(18%)
提示:各點機率分佈如表一所示。
點數 |
出現機率 |
一點 |
1/63 |
二點 |
2/63 |
三點 |
4/63 |
四點 |
8/63 |
五點 |
16/63 |
六點 |
32/63 |
3、利用歐基里德輾轉相除法寫一個程式。輸入兩個正整數,輸出其最大公約數。輸入數值的大小限制於3到1000之間。(12%,不需列出計算過程。)
範例:
輸入:78 64
輸出:2
4.張三把所持有的1000個盤子分別裝在10個箱子裡,每個箱子分別裝進1、2、4、8、16、32、64、128、256、及489個盤子。張三將這些箱子依序標上(1)~(10)
10個號碼。有天,李四想找張三借N個盤子(N為程式使用者輸入的資料,代表李四欲借盤子的數目,其限制範圍為1N
1000,N為正整數)。張三知道每個箱子的編號與箱子內所放盤子的個數,但如何設計一個程式,在不拆開箱子重新組合盤子的情況下,告訴張三應組合拿出那些箱子給李四,才能得到李四要借的盤子數目呢?(18%)
範例:
輸入:717
輸出:
(10)489
(8)128
(7)64
(6)32
(3)4
輸入:329
輸出:
(9)256
(7)64
(4)8
(1)1
5、有一富翁既有十億家產,一天在門口瞧見了一乞丐,一時同情心起就對乞丐說:「我給你一百萬,你不要再做乞丐了!」乞丐聽完後說:「謝謝你的好意,我不是貪心的人,這樣好了,你只需要第一天給我一元,第二天開始,每天給的錢是前面所給的總和的兩倍既可」,例如第二天給兩元,第三天給6元,第四天為18元…,這樣的情況持續一個月就行了。富翁心想這乞丐倒也不貪心,於是就答應了。試問你認為這富翁是否被騙了呢?(亦即富翁一個月後所給的錢超過了100萬元)(12%)
請設計一個程式,計算一下乞丐一個月後,總共拿了富翁多少錢?
範例:(不需要輸入範例 )
輸出:乞丐一個月後共計拿了??????元 ! “ 富翁被騙 (或是佔便宜)了 “
6、假定銀行的年利率為n,今某甲從現在開始每月月初均存入10,000元,試問k年後全部領出,可領多少錢?請設計一個程式幫某甲計算一下結果。輸入n及k (0.01£ n£ 0.07,1£ k £ 10),計算完畢後,輸出全部領出可領的金額。(10%)
範例:
輸入年利率:0.02
輸入年 數:5
輸出:本利和= 631524.3元
7、請設計一個程式,這個程式可以將使用者輸入的一個數值N(4 £ N £ 100且N為偶數)分解成兩個質數的和,即這兩個質數和等於N。最後,請將這兩個質數值輸出(14%)。
提示:只能被1和本身所整除的數,稱為「質數」。最小的質數為2。
範例:
輸入:16
輸出:3+13
輸入:48
輸出:19+29
輸入:100
輸出:3+97