天才程序員用遞歸
def test(n):
? ? if n == 1:
? ? ? ? return 1
? ? else:
? ? ? ? return n*test(n-1)
number = int(input('請(qǐng)輸入一個(gè)正整數(shù)\n'))
result = test(number)
print('%d 的階乘是 %d' % (number,result))
下面是漢諾塔的實(shí)現(xiàn)
def hanoi (n,a,b,c):
? ? if n == 1:
? ? ? ? print(a,'-->',c) ? ?如果只有最后一個(gè)盤子甫贯,則直接從a到c
? ? else:
? ? ? ? hanoi(n-1,a,c,b) ? ?現(xiàn)將前n-1個(gè)盤子移動(dòng)到b
? ? ? ? print(a,'-->',c)如果只有最后一個(gè)盤子瓜喇,則直接從a到c
? ? ? ? hanoi(n-1,b,a,c) 用遞歸方法將剩下的盤子再移動(dòng)到C
n=int(input('漢諾塔層數(shù)\n'))
hanoi(n,'第一根','第二根','第三根')