1. Perfect Number
完美數 (Perfect Number) 指的是一個數字,等於扣除自身以外所有正因數的加總,例如:
6 = 1+2+3
28 = 1+2+4+7+14
請寫用 python 寫個函式判斷輸入的正整數是否為完美數。
In [1]: print is_perfect(6)
Out[1]: True
In [2]: print is_perfect(8)
Out[2]: False
2. 列出數列中,最大的 3 個數字
如果給你一個「檔案」,內容是一連串的數字,每一行一個正整數,請你列出最大的 3 組數字。
檔案格式:
2134
3412
6421
8723
9239
1234
2345
要列出最大的 3 個數字,輸出:
9239
8723
6421
- 不能使用任何 build-in sorting function 或 library。
- 請讓你的程式時間複雜度是 O(n) 。
- 執行命令: python xxx.py sample1.dat
3. Name Score
假如有個檔案,裡頭的格式是這樣: (全部都是大寫,沒有換行,字串不會重複)
"CDEF","ABC","FIJK"
拿到之後,請先按照字母大寫排序,因此順序會變成:
"ABC","CDEF", "FIJK"
然後,把每個字串的英文字母順序加總起來,比如:
"ABC" = 1 + 2 + 3 = 6
最後這個數字乘上排序後的位置,比如: "ABC" 是排在第 1 位,因此 "ABC" 的分數是 6 x 1 = 6 請你把檔案中的,每個字串的分數,加總起來,在螢幕上印出結果。
4. List Comprehension
請用 List Comprehension 加上sum()
計算出
5. 產生 Fibonacci 數列的 generator
執行結果如下:
>>>c = fib()
>>>c.next()
1
>>>c.next()
2
>>>c.next()
3
>>>c.next()
5
>>>c.next()
8