2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

珍宝珠 2019-11-19 15:51:52 487

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

分享到
取消 提交回答
全部回答(1)
  • 珍宝珠
    2019-11-19 15:53:53
    方法一:
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    a = 2.0
    b = 1.0
    s = 0
    for n in range(1,21):
        s += a / b
        t = a
        a = a + b
        b = t
    print s
    
    
    方法二:
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    a = 2.0
    b = 1.0
    s = 0.0
    for n in range(1,21):
        s += a / b
        b,a = a , a + b
    print s
    
    s = 0.0
    for n in range(1,21):
        s += a / b
        b,a = a , a + b
    print s
    
    
    方法三:
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    a = 2.0
    b = 1.0
    l = []
    l.append(a / b)
    for n in range(1,20):
        b,a = a,a + b
        l.append(a / b)
    print reduce(lambda x,y: x + y,l)
    
    

    以上实例输出结果为:

    32.6602607986
    
    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

相似问题