- ·上一篇文章:打印出如下图案(菱形):
- ·下一篇文章:求1+2!+3!+...+20!的和。
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
请抓住分子与分母的变化规律。
#!/usr/bin/python
# -*- coding:
UTF-8 -*-a = 2.0b = 1.0s = 0for n in range(1,21):
s += a / bt = aa = a + bb = tprint s
#!/usr/bin/python
# -*- coding:
UTF-8 -*-a = 2.0b = 1.0s = 0.0for n in range(1,21):
s += a / bb,a = a , a + bprint ss = 0.0for n in range(1,21):
s += a / bb,a = a , a + bprint s
#!/usr/bin/python
# -*- coding:
UTF-8 -*-a = 2.0b = 1.0l = []l.append(a / b)for n in range(1,20):
b,a = a,a + bl.append(a / b)print reduce(lambda x,y:
x + y,l)
程序源代码:
方法一:
实例
#!/usr/bin/python
# -*- coding:
UTF-8 -*-a = 2.0b = 1.0s = 0for n in range(1,21):
s += a / bt = aa = a + bb = tprint s
方法二:
实例
#!/usr/bin/python
# -*- coding:
UTF-8 -*-a = 2.0b = 1.0s = 0.0for n in range(1,21):
s += a / bb,a = a , a + bprint ss = 0.0for n in range(1,21):
s += a / bb,a = a , a + bprint s
方法三:
实例
#!/usr/bin/python
# -*- coding:
UTF-8 -*-a = 2.0b = 1.0l = []l.append(a / b)for n in range(1,20):
b,a = a,a + bl.append(a / b)print reduce(lambda x,y:
x + y,l)
以上实例输出结果为:
32.6602607986
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。