斐波那契数列
以下在 源代码vs2017调试通过
- List item
下面用列表整体存储,递归算法和迭代两种方法分别计算了FIBONACCI数列。开始觉得python的列表比C和java的数组差多了,用的一点都不习惯,没有下标,不能直接定义大小,后来发现python的列表真强大,用切片,还有各种方法完全掩盖这些缺点,可以同一列表存储各种数据类型。
def fun(n):
a=[1,1]
i=0
if n<1:
print(“error”)
elif n<=2:
for k in range(0,n):
print(a[i])
i+=1
elif n>2:
for k in range(2,n):
a.append(0)
for k in range(2,n):
a[i+2]=a[i]+a[i+1]
i=i+1
for k in a:
print(k)
print(“请输入一个整数:\n”)
n=int(input())
print(“数列如下:\n”)
fun(n)
print(“以上是列表迭代版\n\n\n\n\n”)
print(“以下是列表递归版\n\n\n\n\n”)
def fbnq(n):
if n<1:
return False
elif n<=2:
return 1
elif n>2:
return fbnq(n-1)+fbnq(n-2)
def fun(n):
a=[]
for k in range(0,n):
a.append(0)
for k in range(0,n):
a[k]=fbnq(k+1)
for k in a:
print(k)
n=int(input(“请输入一个整数:\n”))
print(“数列如下:\n”)
fun(n)