斐波那契额数列
数列:
一个笼子开始有一对兔子,兔子要两个月之后才可以生出一对新的兔子,新生的兔子也是一样,数列表示n个月后兔子的对数;
数学表达式:
迭代实现
- 代码:
def fab(n):
n1 = 1
n2 = 1
n3 = 1
if n<1:
print('对不起,输入有误!')
return -1
else:
while (n - 2) > 0:
n3 = n2 + n1
n1 = n2
n2 = n3
n -= 1
return n3
month = int(input('请输入月数:'))
result = fab(month)
print("%d 个月后的兔子数量为 %d"%(month,result))
- 结果:
递归实现
- 代码:
def fab(n):
if n<1:
print('对不起,输入有误!')
return -1
if n == 1 or n == 2:
return 1
else:
return fab(n - 1) + fab(n - 2)
month = int(input('请输入月数:'))
result = fab(month)
print("%d 个月后的兔子数量为 %d"%(month,result))
- 结果: