zoukankan      html  css  js  c++  java
  • 汉罗塔问题——Python

    汉罗塔问题就是一个循环的过程:* (有两种情况)

    • 如果被移动盘只有一个盘子,可以直接移动到目的盘
    • 但是被移动盘有多个盘子,就先需要将上面的n-1个盘子通过目的盘移动到辅助盘,然后将被移动盘最下面一个盘子移动到目的盘,最后将辅助盘上面的n-1个盘子通过被移动盘移动到目的盘

    Python代码实现:

     1 a = [5,4,3,2,1]
     2 b = []
     3 c = []
     4 def move(a,b,c,n):
     5     if n==1:   #当条件为1 的时候 直接移动
     6         c.append(a.pop())
     7         return
     8 
     9     move(a,c,b,n-1)  #先移动上面n-1 个盘子
    10     c.append(a.pop())  #将最后一个盘子移动到目的盘
    11     move(b,a,c,n-1)    #将剩余的n-1个盘子移动到目的盘
    12 
    13 move(a,b,c,5)
    14 print(a)
    15 print(b)
    16 print(c)
  • 相关阅读:
    500. 键盘行
    657. 判断路线成圈
    771. 宝石与石头
    461. 汉明距离
    Java 基本数据类型
    Windows下的DOM操作
    jQuery学习笔记
    Java(16-19)
    Java(1-15)
    总结
  • 原文地址:https://www.cnblogs.com/luojianyi/p/9479493.html
Copyright © 2011-2022 走看看