def fab(n):
n1=1
n2=1
n3=1
if n <1:
print('wrong')
return -1
while n-2>0:#大于两个兔子
n3=n1+n2
n1=n2
n2=n3
n=n-1
return n3 #注意一定要有返回值
result=fab(20)
print('%d',result)
def fab2(n):
if n<1:
return -1
if n==1 or n==2:
return 1
else:
return fab2(n-1)+fab2(n-2)
result=fab2(20)
print('%d',result)
汉诺塔规则的核心就在于大盘永远只能在小盘下边
def hannuo(n,x,y,z):
if n==1:
print(x,'-->',z)
else:
hannuo(n-1,x,z,y)#接用z来移动n—1个盘子
print(x,'-->',z)#移动最下面的盘子
hannuo(n-1,y,x,z)#从y移动到x
n=3
hannuo(3,'x','y','z')