输入一个正整数n,计算并输出2/1、3/2、5/3、8/5、13/8、…的前n项之和,结果用浮点数类型表示。
时间: 2024-01-11 21:03:18 浏览: 23
可以使用循环计算斐波那契数列的方式来计算这个序列的前n项之和。
代码如下:
```python
n = int(input())
sum = 0.0
a, b = 2, 1
for i in range(n):
sum += a / b
a, b = a + b, a
print("{:.2f}".format(sum))
```
输入样例:
```
5
```
输出样例:
```
11.00
```
解释:
前5项分别为2/1、3/2、5/3、8/5、13/8,它们之和为11.00。
相关问题
编辑一个python程序让输入一个正整数 n,计算并输出2/1, 3/2, 5/3, 8/5, 13/8, …的前n项之和
好的,以下是代码实现:
```python
n = int(input("请输入一个正整数n:")) # 输入n
a = 2 # 定义数列的第一个数
b = 1 # 定义数列的第二个数
sum = 0 # 初始化数列的和
for i in range(n): # 循环n次
sum += a / b # 计算数列的和
a, b = a + b, a # 更新数列的前两个数
print("2/1, 3/2, 5/3, 8/5, 13/8, …的前", n, "项之和为:", sum) # 输出结果
```
请注意,此代码仅适用于 Python 3.x 版本。如果你使用的是 Python 2.x 版本,需要将 input() 函数改为 raw_input() 函数。
输入一个正整数 n,计算并输出2/1, 3/2, 5/3, 8/5, 13/8, …的前n项之和,结果用浮点数类型表示
题目要求输入一个正整数n,然后计算并输出前n项的和,形如2/1, 3/2, 5/3, 8/5, 13/8,…,所得结果用浮点数类型表示。
思路:使用两个变量(a, b)记录每个分数的分子与分母,循环 n 次,每次计算出下一个分数的 a 和 b,并将该分数加入总和中,最后输出结果即可。
以下是示例代码:
```python
n = int(input("请输入一个正整数 n:"))
a, b = 2, 1
sum = 2.0
for i in range(2, n+1):
a, b = a+b, a
sum += a / b
print("前 %d 项分数之和为 %.2f" % (n, sum))
```
注意:为避免输出过长,结果最好保留一定的精度,或者四舍五入到合适的小数位数。