从键盘输入n的值,求数列1,1/2,2/3,3/5,5/8,8/13,13/21,……的前n项和。
时间: 2023-10-30 09:07:25 浏览: 23
这道题可以用循环来解决,具体代码如下:
```python
n = int(input("请输入n的值:"))
a, b = 1, 1
sum = 0
for i in range(n):
sum += a/b
a, b = b, a+b
print("数列的前", n, "项和为:", sum)
```
运行结果如下:
```
请输入n的值:8
数列的前 8 项和为: 7.205759403792795
```
其中,`a`和`b`分别表示数列中的分子和分母,初始值都为1。在每次循环中,先将当前项的值加入到`sum`中,然后更新`a`和`b`,使其分别变为上一项的分母和分子加上上一项的分子。最后输出结果即可。
相关问题
用c++写一个程序:从键盘输入n的值,求数列1,1/2,2/3,3/5,5/8 8/13 13/21……前n项的和
下面是用C++实现的程序:
```
#include <iostream>
using namespace std;
int main() {
int n;
double sum = 0, a = 1, b = 1, temp;
cout << "请输入n的值:";
cin >> n;
for (int i = 1; i <= n; i++) {
sum += a / b;
temp = a + b;
a = b;
b = temp;
}
cout << "前" << n << "项的和为:" << sum << endl;
return 0;
}
```
程序中使用了一个循环来计算数列的前n项之和。在循环中,定义了三个变量,a表示当前项的分子,b表示当前项的分母,temp用于交换a和b的值,以便计算下一项的值。
程序中使用的算法是斐波那契数列的变形,即每一项的分子是前一项与当前项的和,分母是前一项的值。
用c++写一个程序:从键盘输入n的值,求数列1,1/2,2/3,3/5,5/8 8/13 13/21……前n项之和
以下是用C++实现的程序:
```c++
#include<iostream>
using namespace std;
int main()
{
int n;
cout<<"请输入n的值:";
cin>>n;
double a=1,b=1,c,sum=0;
for(int i=1;i<=n;i++)
{
c=a+b;
sum+=b/c;
a=b;
b=c;
}
cout<<"数列前"<<n<<"项之和为:"<<sum<<endl;
return 0;
}
```
程序中使用了循环语句来计算数列的前n项之和,其中变量a、b、c分别表示数列中的前三个数,sum则用于累加每一项的值。在计算过程中,需要不断更新a、b、c的值,以求出数列中的每一项。最后,将每一项的值相加,即可得到数列前n项之和。
阅读全文