您的位置:首页 > 其它

求数列的和

2015-08-11 09:08 302 查看
题目:

数列定义为:第一项为n,以后各项都是前一项的平方根,要求求出前m项的和。

输入:

输入若干行,每一行含有两个整数n和m,n表示数列的首个元素,m表示数列中元素的个数。

输出:

输出和输入行数一样,每一行输出一个数列的前m项的和。要求输出保留两位小数。

代码:

#include<iostream>
#include<math.h>
#include<vector>
#include<utility>
#include<iomanip>
using namespace std;
int main()
{
vector<pair<int, int> > input;
vector<double> output;
pair<int, int> input_list;
int m, n;
while (cin >> m >> n)
{
input_list.first = m;
input_list.second = n;
input.push_back(input_list);
}
for (int i = 0; i < input.size(); i++)
{
double out = 0;
double a = input[i].first;
for (int j = 0; j < input[i].second; j++)
{
out += a;
a = sqrt(a);
}
output.push_back(out);
}
for (int i = 0; i < output.size(); i++)
{
cout<<setiosflags(ios::fixed);
cout.precision(2);
cout << output[i] << endl;
}
return 0;
}这道题主要是熟悉pair类型以及格式化cout的使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: