zoukankan      html  css  js  c++  java
  • 初学者迭代python

    #汉诺塔
    def hanni(n,A,B,C):
        if n == 1:
            print (A,'-->',C)
        else:
            # 将n-1个盘子移动到B上
            hanni(n-1,A,C,B)    
            # 将第n个移动到C上
            print(A,'-->',C)
            # 将n-1个移动到C上
            hanni(n-1,B,A,C)
    
    hanni(3,'A','B','C')
    #阶乘
    #迭代
    def factorial(N):
        F = 1
        for i in range(1,N+1):
            F *= i
        return F
    #递归
    def factorial_recursion(N):
        if N == 1:
            return 1
        else:
            F = N * factorial_recursion(N -1)
        return F
        
    print factorial(10)
    print factorial_recursion(10)
    #斐波那契数列
    #迭代
    def fib_ite(N):
        n1 = 1
        n2 = 1
        n3 = 1
        if N < 1:
            print 'plesae a num'
            return -1
            
        while (N-2) > 0:
            n3 = n1 + n2
            n1 = n2
            n2 = n3
            N -= 1
        return n3
    #递归
    def fib_num(N):
        if N == 1 or N == 2:
            return 1
        else:
            return fib_num(N-1)+fib_num(N-2)
            
    print fib_num(20)
    
    print fib_ite(20)
  • 相关阅读:
    Java WebSocket生命周期
    软件网络总结
    js模态弹窗
    spring boot
    spring aop
    lvs分布式
    如何在大牛面前装逼
    Java学习的思考
    javase知识点
    <nginx+PHP>nginx环境下配置支持php7
  • 原文地址:https://www.cnblogs.com/Kermit-Li/p/5565807.html
Copyright © 2011-2022 走看看