defFunc(n):if n ==0:return1else:return n*Func(n-1)
求最大公约数
deffunc(m,n):if m % n ==0:return n
else:return func(n,m%n)
斐波那契数列
deffib(n):if n ==1or n ==2:return1else:return fib(n-1)+ fib (n-2)
汉诺塔问题(简易版)
defhanoi(a,b,c,n):if n ==1:print(a+'-->'+c)else:
hano(a,c,b,n-1)print(a+'-->'+c)
hano(b,a,c,n-1)#hano('A','B','C',3)
汉诺塔问题(升级版)
defhanoi(a,b,c,n):'''汉诺塔问题:把n个盘子从a移到c,返回总移动次数'''if n ==1:print('move plate 1 from '+ a +' to '+ c)return1else:
m = hanoi( a,c, b, n-1)print('move plate '+str(n)+' from '+ a +' to '+ c)
hanoi( b,a, c, n-1)return2*m+1#x = hanoi('A', 'B', 'C', 4)#print('total move {0} times'.format(x))