美文网首页
递归-汉诺塔

递归-汉诺塔

作者: HHusHH | 来源:发表于2016-11-30 21:51 被阅读0次

    天才程序员用递归

    def test(n):

        if n == 1:

            return 1

        else:

            return n*test(n-1)

    number = int(input('请输入一个正整数\n'))

    result = test(number)

    print('%d 的阶乘是 %d' % (number,result))

    下面是汉诺塔的实现

    def hanoi (n,a,b,c):

        if n == 1:

            print(a,'-->',c)    如果只有最后一个盘子,则直接从a到c

        else:

            hanoi(n-1,a,c,b)    现将前n-1个盘子移动到b

            print(a,'-->',c)如果只有最后一个盘子,则直接从a到c

            hanoi(n-1,b,a,c) 用递归方法将剩下的盘子再移动到C

    n=int(input('汉诺塔层数\n'))

    hanoi(n,'第一根','第二根','第三根')

    相关文章

      网友评论

          本文标题:递归-汉诺塔

          本文链接:https://www.haomeiwen.com/subject/crntmttx.html