写一段程序【问题描述】 输入正整数n,求分数序列:2/1,3/2,5/3,8/5,13/8,21/13的前n项之和 【输入形式】 从键盘输入正整数n 【输出形式】 前n项之和,结果保留2位小数
时间: 2023-09-17 12:06:10 浏览: 117
### 回答1:
num = int(input("请输入正整数n:"))
a = 2
b = 1
sum = 0
for i in range(1, num+1):
sum += a/b
a, b = a+b, a
print("前%d项之和为%.2f" % (num, sum))
### 回答2:
可以使用循环来计算分数序列的前n项之和,具体的步骤如下:
1. 从键盘输入正整数n。
2. 定义总和变量sum并初始化为0。
3. 定义两个变量a和b,分别用来表示分子和分母,初始值分别为2和1。
4. 使用循环,从1到n,依次计算每一项的分数,并将其加到总和sum上。
- 在循环中,先计算当前项的分数,即a/b。
- 然后将分数的分子和分母交换,即a=a+b,b=a-b。
- 最后将当前项的分数加到总和sum上,即sum=sum+a/b。
5. 输出总和sum,保留2位小数。
下面是用python编写的程序示例:
```python
n = int(input("请输入正整数n:"))
sum = 0.0
a = 2
b = 1
for i in range(1, n+1):
fraction = a / b
a, b = a + b, a - b
sum += fraction
print("前{}项之和为:{:.2f}".format(n, sum))
```
运行程序后,输入正整数n,即可得到分数序列的前n项之和。
### 回答3:
首先,我们可以看到规律,分子是斐波那契数列Fibonacci数列,分母是Fibonacci数列向后错位一位的数列。
接下来,我们可以利用迭代的方式求解这个问题。我们需要使用三个变量来保存前一个数、当前数和下一个数。
首先,我们需要初始化前一个数a为2,当前数b为3,和sum为2/1+3/2=2.5。
然后,我们需要循环n-2次(循环条件i从2开始,因为我们已经初始化了前两个数),在每次循环中,更新前一个数a为当前数,当前数b为前一个数加上当前数,然后求和sum加上当前数除以前一个数。
最后,输出sum,保留两位小数。
以下是代码实现:
```python
n = int(input("请输入正整数n: "))
a = 2
b = 3
sum = 2.5
for i in range(2, n):
temp = b
b = a + b
a = temp
sum += b / a
print("前", n, "项之和为: %.2f" % sum)
```
输入示例:
请输入正整数n: 5
输出示例:
前 5 项之和为: 4.53
阅读全文