程式語言初學的題目(一)
2 min readNov 19, 2019
- N 階乘:
輸入:一個正整數 N
輸出:N!=N*(N-1)*(N-2)*(N-3)*…..*3*2*1= …
例如:輸入10,輸出如下
10! = 10*9*8*7*6*5*4*3*2*1 = 3628800
輸入 5,輸出如下
5! = 5*4*3*2*1 = 120
提示:除了算出計算加總外,計算過程的數字、!、* 及 = 也應為輸出的一部份
目的:在強型別語言裡,字串相加,數字字串相加也會是考驗新手的一部份 - 質因數分解:
輸入:N >=2 的自然正整數
輸出:N 的所有質因數的陣列
例如:輸入 1000,輸出 [2, 5]
輸入 60,輸出 [2, 3, 5]
輸入 42,輸出 [2, 3, 7]
輸入 42,輸出 [2, 3, 7]
提示:迴圈從 2 開始,除以 N 直到不整除為止,往上試除 3,重複前述
目的:理解陣列、do while 迴圈應用 - 經典印星號:
輸入:無
輸出:請使用迴圈敘述輸出下列的圖形
4. 選擇排序、氣泡排序法:
輸入:一組帶數字的陣列
輸出:遞增排序的帶數字的相同陣列
例如:輸入 [1, 5, 27, -5, 0, 128],輸出 [-5, 0, 1, 5, 27, 128]
提示:理解排序法的雙層迴圈如何撰寫,尤其氣泡排序法在一些應用情境 下仍然未過時且實用;理解交換(swap)的應用。
5. 對稱交換陣列內容:
輸入:一組帶字串的陣列
輸出:內容倒過來的陣列
例如:輸入 [‘h’, ‘e’, ‘l’, ‘l’, ‘o’],輸出 [‘o’, ‘l’, ‘l’, ‘e’, ‘h’]
提示:奇數陣列和偶數陣列可能有不一樣的方法,迴圈無需完整跑完整個陣 列數量。
目的:理解交換(swap)的應用。