Python 递归实例

用for 循环迭代方式实现阶乘

#!/usr/bin/python
def factorial(n):
    result = n
    for i in range(1,n):
        result  *= i
    return result

number = int(input('请输入正整数:'))
result = factorial(number)
print('%d的阶乘是:%d' %(number,result))


直接用递归的方式实现阶乘

def factorial1(n):
    if n == 1:
        return 1
    else:
        return n * factorial1(n-1)

number = int(input('请输入一个正整数:'))
result = factorial1(number)
print("%d的阶乘是:%d" %(number,result))

###汉诺塔

#!/usr/bin/python
def hanoi(n,x,y,z):
    if n == 1:
        print(x,'--->',z)
    else:
        
        hanoi(n-1,x,z,y)###将前n-1个盘子从x移动到y上
        print(x,'--->',z) ####将最底下的最后一个盘子从x移动到z上
        hanoi(n-1,y,x,z)###将y上的n-1个盘子移动到z 上



n = int(input("请输入汉诺塔的层数:"))
hanoi(n,'x','y','z')

猜你喜欢

转载自blog.csdn.net/zuopiezia/article/details/84955810
今日推荐