递归:
def factorial(n):
if n<1:
print("输入有误")
return -1
elif n==1 or n==2:
return 1
else :
return factorial(n-1)+factorial(n-2)
num=int(input("输入一个正整数:"))
print(factorial(num))
迭代:
def fab(n):
n1 = 1
n2 = 1
n3 = 1
if n<1:
print("输入有误")
return -1
while (n-2)>0:
n3 = n2 + n1
n1 = n2
n2 = n3
n-=1
return n3
num = int(input("请输入一个正整数:"))
result = fab(num)
if result !=-1:
print("总共有%d对小兔子诞生" %result)
递归算法用的是分治思想。