# 阶乘
# def fact(n):
# if n == 1:
# return 1
# return n * fact(n-1)
# a = fact(5)
# print(a)
# def fact (n):
# return fact_inter(n, 1)
# def fact_inter (a, b):
# if a == 1:
# return b
# return fact_inter(a-1, a*b)
# print(fact(5))
# 斐波那契数列
# def fbnq (num):
# if num == 0:
# return 0
# if num == 1:
# return 1
# tem = fbnq(num-1)+fbnq(num-2)
# return tem
# result = fbnq(8)
# print(result)
# 汉诺塔
# def hnt (n):
# if n == 1:
# return 1
# return 2*hnt(n-1) + 1
# res = hnt (5)
# print(res)
def hanNuo (n, start, temp, to):
if n == 1:
print ('from', start, 'to', to)
else:
hanNuo (n-1, start, to, temp)
hanNuo (1, start, temp, to)
hanNuo (n-1, temp, start, to)
hanNuo (2, 'A', 'B', 'C')
汉诺塔过程.png
网友评论