如何解决如何在此代码中添加计数器以显示步数?
def toh(N,fromm=1,to=3,aux=2):
# Your code here
if N == 1:
print('move disk',N,'from rod',fromm,'to rod',to)
return
else:
toh(N - 1,aux,to)
print('move disk',to)
toh(N - 1,to,fromm)
#Driver code Starts
import math
def main():
T = int(input())
while(T > 0):
N = int(input())
print(toh(N,1,3,2))
T -= 1
if __name__ == "__main__":
main()
#Driver code Ends
记住不要更改驱动程序代码
测试案例如下:
N = 2
预期的输出:
将磁盘1从杆1移至杆2
将磁盘2从杆1移至杆3
将磁盘1从杆2移至杆3
3
这里3是“我要在此代码中添加的步骤总数”
My output:
For Input:2
move disk 1 from rod 1 to rod 2
move disk 2 from rod 1 to rod 3
move disk 1 from rod 2 to rod 3
None
解决方法
最后我做到了
def toh(N,fromm=1,to=3,aux=2,count=0):
# Your code here
if N == 1:
print('move disk',N,'from rod',fromm,'to rod',to)
return count + 1
else:
toh(N - 1,aux,to)
print('move disk',to)
toh(N - 1,to,fromm)
return count + (2**N-1)
# Driver code Starts
import math
def main():
T = int(input())
while(T > 0):
N = int(input())
print(toh(N,1,3,2))
T -= 1
if __name__ == "__main__":
main()
# Driver code Ends
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。