第4章-6.输出前 n 个Fibonacci数 (15分)

本题要求编写程序,输出菲波那契(Fibonacci)数列的前N项,每行输出5个,题目保证输出结果在长整型范围内。

Fibonacci数列就是满足任一项数字是前两项的和

(最开始两项均定义为1)的数列

例如:1,1,2,3,5,8,13,...。

输入格式:

输入在一行中给出一个整数N(1N46)

输出格式:

输出前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()

 

 
posted @ 2020-03-28 17:13  cnRicky  阅读(2202)  评论(0编辑  收藏  举报