定义一个求Fibonacci(斐波那契)数列的函数fib(n),并编写测试代码,输出前20项(每项宽度5个字符位置,右对齐),每行输出10个,分别用递归和非递归的方式实现,用python语言
时间: 2024-05-20 21:16:55 浏览: 121
c#斐波那契数列(Fibonacci)(递归,非递归)实现代码
5星 · 资源好评率100%
# 递归方式实现Fibonacci数列
def fib_recursive(n):
if n <= 1:
return n
else:
return fib_recursive(n-1) + fib_recursive(n-2)
# 非递归方式实现Fibonacci数列
def fib(n):
if n <= 1:
return n
else:
a, b = 0, 1
for i in range(n-1):
a, b = b, a + b
return b
# 输出前20项Fibonacci数列
for i in range(20):
if i % 10 == 0:
print()
print("{:>5}".format(fib_recursive(i)), end="")
print("\n")
for i in range(20):
if i % 10 == 0:
print()
print("{:>5}".format(fib(i)), end="")
阅读全文