hdu2009

微笑、不失礼 提交于 2020-02-04 22:18:34

Problem Description 数列的定义如下:
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
Input 输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。
Output 对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
Sample Input81 4
2 2
Sample Output94.73
3.41
一开始想用pow,但是发现好像会约掉最后两位
上码

#include<stdio.h>
#include<math.h>
int main(void)
{
    int n,m;
    double p,sum;
    while(scanf("%d %d",&n,&m)!=-1)
    {
        sum=n;
        p=n;
        for(int i=2;i<=m;i++)
        {
            p=sqrt(p);
            sum+=p;
        }
        printf("%.2f\n",sum);
    }
    return 0;
}

记录,共勉。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!