(C语言)练习2——数列求和

数列的定义如下: 数列的第一项为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

扫描二维码关注公众号,回复: 5669633 查看本文章

#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
 

猜你喜欢

转载自blog.csdn.net/accumla/article/details/88595001