Pythonでハノータ問題を解決

3475 ワード

'''

1、                         ,
     :                     ,            ,               ( )
                       ( )
2、                 :
    n! = n * (n-1)! 
    ……
    9! = 9 * 8!
    8! = 8 * 7!
    7! = 7 * 6!
    6! = 6 * 5!
    5! = 5 * 4!
    4! = 4 * 3!
    3! = 3 * 2!
    2! = 2 * 1!
    1! = 1
     : n! = n * (n-1) * (n-2) * …… * 3 * 2 * 1
    
'''

def hannoi(n,x,y,z):
    if n==1:					#   2.4
        print(x,'-->',z)
    else:
        hannoi(n-1, x, z, y)	#   2.1
        print(x,'-->',z)		#   2.2
        hannoi(n-1, y, x, z)	#   2.3
 
n=int(input("          :"))   
hannoi(n, "X", "Y", "Z")

'''
1、               :1··2··3··4··5··6·· ··n
                   :   、   、   
2、         n ,        :
    2.1    n            N,          
    2.2    n       
    2.3   N      ( :          ,      )
    2.4        2.3   (              ,                  )
         n = 1  ,print (x ,'-->', z)
3、                   ,                      ,         

'''