HDOJ-2009 求数列的和

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
 
代码实现:
 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5     int i;
 6     double n,m,s;
 7     while(scanf("%lf%lf",&n,&m)!=EOF)
 8     {
 9         s=0;
10         for(i=1;i<=m;i++)
11         {
12             s=s+n;
13             n=sqrt(n);
14         }
15         printf("%.2lf
",s);
16     }
17 
18     return 0;
19 }

1.题目为理清,开始总是用s=s+sqrt(s);这样的错误语句。实际上忽略了“以后各项为前一项的平方根”这样的事实。

原文地址:https://www.cnblogs.com/hhccdf/p/4347473.html