数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
Input
输入数据有多组,每组占一行,由两个整数n(n< 10000)和m(m< 1000)组成,n和m的含义如前所述。
Output
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
Example Input
81 4
2 2
Example Output
94.73
3.41
解析题目:如输入2 4 运算过程是2+√2+√√2 = 5.69
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double jisuan(int n,int m)
{
double a=n,i,z;
z=a; //此处设置,为了让后一位数=前一位数,然后再取平方根
for(i = 2; i <= m; i++)
{
a =sqrt(a);
z=z+a;
}
return z;
}int main()
{
int n,m;
while(~scanf("%d %d",&n,&m))
{
printf("%.2lf\n",jisuan(n,m));
}
return 0;
}下面部分是验证平方根结果的。
/*
#include<math.h>
#include<stdio.h>
int main(void)
{
double x = 2.0,result;
result = sqrt(x); //result*result=x
printf("Thesquarerootof%fis%f\n",x,result);
return 0;
}*/
---------------------
大佬原文:https://blog.csdn.net/qq_40014462/article/details/78327644