本題要求編寫程序,輸出菲波那契(Fibonacci)數列的前N項,每行輸出5個,題目保證輸出結果在長整型范圍內。
Fibonacci數列就是滿足任一項數字是前兩項的和
(最開始兩項均定義為1)的數列
例如:1,1,2,3,5,8,13,...。
輸入格式:
輸入在一行中給出一個整數N(1≤N≤46)。
輸出格式:
輸出前N個Fibonacci數,每個數占11位,每行輸出5個。如果最后一行輸出的個數不到5個,也需要換行。
如果N小於1
,則輸出"Invalid.
"
輸入樣例1:
7
輸出樣例1:
1 1 2 3 5 8 13
輸入樣例2:
0
輸出樣例2:
Invalid.
1 # 輸出前 n 個Fibonacci數 2 # Author: cnRick 3 # Time : 2020-3-28 4 Fibonacci = [1,1] 5 n = int(input()) 6 if n < 1: 7 print("Invalid.") 8 elif 1 <= n < 2: 9 if n == 1: 10 print("{:11d}".format(Fibonacci[0])) 11 else: 12 print("{:11d}".format(Fibonacci[1])) 13 else: 14 for i in range(2,n): 15 Fibonacci.append(Fibonacci[i-1] + Fibonacci[i-2]) 16 cnt = 0 17 lastLineIndex = n // 5 18 for i in range(0,n): 19 print("{:11d}".format(Fibonacci[cnt]),end="") 20 cnt += 1 21 if((cnt % 5 == 0) or (cnt == n)): 22 print()