Problem Description
数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
Input
输入数据有多组,每组占一行,由两个整数n(n< 10000)和m(m< 1000)组成,n和m的含义如前所述。
Output
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
Sample Input
81 4
2 2
Sample Output
94.73
3.41
代码如下,
#include<stdio.h>
#include<math.h>
double qiuhe(int n,int m)
{
double a=n,i,sum; // 将n的值给a
sum=a; //把a的值也就是n的值给sum,这样第一项为n就解决了,同时也保证了下面求平方根时不会出错。
for(i=2;i<=m;i++)
{
a=sqrt(a);
sum=sum+a;
}
return sum;
}
int main()
{
int m,n;
while(~scanf("%d %d",&n,&m))
{
printf("%.2lf\n",qiuhe(n,m)); //个人觉得是在这里调用了上面刚开始写的那个什么(不知道应该叫模板还是应该叫类的还是叫其他的东西)
}
return 0;
}
渣渣一个,做题的时候看了下别人的思路/(ㄒoㄒ)/~~
下面是链接。。。
https://blog.csdn.net/qq_40014462/article/details/78327644?locationNum=1&fps=1