输入一个正整数 n,计算并输出2/1, 3/2, 5/3, 8/5, 13/8, …的前n项之和,结果用浮点数类型表示
时间: 2023-05-01 22:07:37 浏览: 60
题目要求输入一个正整数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))
```
注意:为避免输出过长,结果最好保留一定的精度,或者四舍五入到合适的小数位数。
相关问题
编辑一个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() 函数。
输入一个正整数 计算并输出1-1/2+1/3-1/4+……+1/n
这是一个计算1-1/2+1/3-1/4+……+1/n的程序。其中n是用户输入的正整数。具体实现方法是使用一个变量sum来记录累加和,初始值为0。然后使用一个循环,从1到n遍历每一个数,如果这个数是奇数,则加上1/i,否则减去1/i。最后输出sum的值即可。
代码如下:
num = int(input("请输入一个正整数:"))
sum = 0
for i in range(1, num+1):
if i % 2 == 1:
sum += 1/i
else:
sum -= 1/i
print("1-1/2+1/3-1/4+……+1/{}的值为:{}".format(num, sum))