【測驗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為程式使用者輸入的資料,代表李四欲借盤子的數目,其限制範圍為1N1000,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