2021.10.21 斐波那契数列

【每日一题】2021.10.21

斐波那契数列F(1)=F(2)=1;n>2时 F(n)=F(n-1)+F(n-2)
用递归和循环两种方法编程求F(50), F(100), F(1000)的值

编程语言:包括但不限于Python

循环

##  将斐波那契额序列
## 获取用户输入数据
# nmber=input()
def fib_loop_while(n):
    a, b = 0, 1
    for i in range(0, n):
        a, b = b, a + b
        yield a

#
# for i in fib_loop_while(nmber):
#     print(i, end=' ')
for i in fib_loop_while(50):
    print(i, end=' ')

for i in fib_loop_while(100):
    print(i, end=' ')

for i in fib_loop_while(1000):
    print(i, end=' ')

递归

# 递归
def rabbit2(n):
    if (n==1 or n==2):
        return 1
    else:
        return rabbit2(n-1)+rabbit2(n-2)
for i in range(1,50):
    print(rabbit2(i),end=' ')
for i in range(1,100):
    print(rabbit2(i),end=' ')
for i in range(1,1000):
    print(rabbit2(i),end=' ')