斐不拉奇数列
数列为 :1 1 2 3 5 8 13 21 …
def f(n):
if n<1:
return -1
if n==1:
return 1
elif n==2:
return 1
else:
return f(n-1)+f(n-2)
result=f(6)
print(result)
>>> 8
汉诺塔
def hanoi(n,x,y,z):
if n==1:
print(x,'-->',z)
else:
hanoi(n-1,x,z,y)#将前n-1个盘子从X移到y上
print(x,'-->',z)#将最底下的最后一个盘子从下x移动到z上
hanoi(n-1,y,x,z)#将y上的n-1个盘子移动到z上
hanoi(3,'X','Y','Z')
>>> X --> Z
X --> Y
Z --> Y
X --> Z
Y --> X
Y --> Z
X --> Z