选择题:
以下几段汉诺塔代码,哪段是正确的(a)
A.defhanoi(n,fromTower,auxTower,toTower):
???ifn==1:#递归边界条件,一步移动
???????print(Movedisk,n,from,fromTower,to,toTower)
???else:
???????hanoi(n-1,fromTower,toTower,auxTower)#第一步,递归调用
???????print(Movedisk,n,from,fromTower,to,toTower)#第二步
???????hanoi(n-1,auxTower,fromTower,toTower)#第三步,递归调用
defmain():
???n=int(input(Pleaseinputnumberofdisks:))
???print(ThesolutionoftowerofHanoiis:)
? ???hanoi(n,A,B,C)
main()
B.defhanoi(n,fromTower,auxTower,toTower):
???ifn==1:#递归边界条件,一步移动
???????print(Movedisk,n,from,fromTower,to,toTower)
???else:
???????hanoi(n-1,fromTower,toTower,auxTower)#第一步,递归调用
???????print(Movedisk,n,from,fromTower,to,toTower)#第二步
???????hanoi(n-1,auxTower,fromTower,toTower)#第三步,递归调用
defmain():
???n=int(input(Pleaseinputnumberofdisks:))
???print(ThesolutionoftowerofHanoiis:)
? ???hanoi(n,A,C,D)
main()
C.defhanoi(n,fromTower,auxTower,toTower):
???ifn==1:#递归边界条件,一步移动
???????print(Movedisk,n,from,fromTower,to,toTower)
???else:
???????hanoi(n-1,fromTower,toTower,auxTower)#第一步,递归调用
???????print(Movedisk,n,from,fromTower,to,toTower)#第二步
???????hanoi(n-1,auxTower,fromTower,toTower)#第三步,递归调用
defmain():
???n=int(input(Pleaseinputnumberofdisks:))
???print(ThesolutionoftowerofHanoiis:)
? ???main(n,A,B,C)
main()
D.defhanoi(n,fromTower,auxTower,toTower):
???ifn==1:#递归边界条件,一步移动
???????print(Movedisk,n,from,fromTower,to,toTower)
???else:
???????main(n-1,fromTower,toTower,auxTower)#第一步,递归调用
???????print(Movedisk,n,from,fromTower,to,toTower)#第二步
???????main(n-1,auxTower,fromTower,toTower)#第三步,递归调用
defmain():
???n=int(input(Pleaseinputnumberofdisks:))
???print(ThesolutionoftowerofHanoiis:)
? ???hanoi(n,A,