斐波那契数列的兔子迭代算法逻辑怎么理解?
> 求大佬解下题,万分感谢!{:5_109:}def fab(n):
n1 = 1
n2 = 1
n3 = 1# 默认初始值先为1,这里也不太明白为啥要先预设 n3 = 1
if n < 1:
print('输入有误!')
return -1
while (n - 2) > 0:#搞不太明白为什么 这里是 n-2 呢?n-1 也可以吧? 只要值> 0就会进入到循环
n3 = n2+n1
n1 = n2
n2 = n3
n -= 1
return n3
result = fab(20)
if result != -1:
print('总共有 %d 对小兔崽子'% result) 我觉得这里设置默认设置n3=1,而且while(n-2)>0;是为了当n取1和2的时候都不进入循环直接返回1。
页:
[1]