美文网首页程序员
杂谈-递归与尾递归

杂谈-递归与尾递归

作者: 竹林晓圣 | 来源:发表于2017-12-18 00:23 被阅读13次

    斐波那契数列之递归与尾递归实现

    1,1,2,3,5,8,13,21 从第三个数开始每个数都是前两个数的和。

    def fun_1(n):
    if n < 3:
    return 1
    else:
    # 从头往尾递归 会产生像二叉树一样指数展开
    return fun_1(n-2)+fun_1(n-1)

    def fun(n, i, j):
    if n < 3:
    return j
    else:
    # 尾递归 递归次数为线性
    # print(n, i, j)
    return fun(n-1, j, j+i)

    if name == 'main':
    n = int(input('请输入要的斐波那契数列n(33以上可以看到明显效果): '))

    print('This is fun')
    print(fun(n, 1, 1))
    
    print('This is fun_1')
    print(fun_1(n))
    

    相关文章

      网友评论

        本文标题:杂谈-递归与尾递归

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