程式語言初學的題目(一)

Jason Tseng
2 min readNov 19, 2019

--

  1. 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
    提示:除了算出計算加總外,計算過程的數字、!、* 及 = 也應為輸出的一部份
    目的:在強型別語言裡,字串相加,數字字串相加也會是考驗新手的一部份
  2. 質因數分解:
    輸入:N >=2 的自然正整數
    輸出:N 的所有質因數的陣列
    例如:輸入 1000,輸出 [2, 5]
    輸入 60,輸出 [2, 3, 5]
    輸入 42,輸出 [2, 3, 7]
    輸入 42,輸出 [2, 3, 7]
    提示:迴圈從 2 開始,除以 N 直到不整除為止,往上試除 3,重複前述
    目的:理解陣列、do while 迴圈應用
  3. 經典印星號:
    輸入:無
    輸出:請使用迴圈敘述輸出下列的圖形

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)的應用。

--

--