问题描述:
数列的定义如下:
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
输入:
输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。
输出:
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
样例输入:
81 4
2 2
样例输出:
94.73
3.41
分析:
本题考点是求平方根,然后使用平方根循环累加
使用了库函数“cmath”中的求平方根的函数
1、sqrt(number):number为double型变量,返回值也是double型的。
2、sqrtf(number):number为float型变量,返回值也是float型的值。
3、sqrtl(number):number为long double型变量,返回值也是long double型的。
代码:
#include<iostream>
#include<stdio.h>
#include<math.h>
using std::cin;
int main()
{
double n, m;
while (cin >> n >> m)
{
double result2 = n, result1 = n;
for (int i = 1; i < m; i++)
{
result2 = sqrt(result2);
result1 += result2;
}
printf("%.2lf\n", result1);
}
return 0;
}
注:个人感觉写得有点水。