HDOJ2009求数列的和

求数列的和

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 40781    Accepted Submission(s): 25105


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
 
Author
lcy

 解题报告:用double型数组呈放数据。题目要求后一项是前一项的平方根,则想到用递推法解决。

 1 #include<stdio.h>
 2 #include<math.h>
 3 double buf[1005];
 4 int main()
 5 {
 6     int n, m;
 7     int i;
 8     double sum;
 9     while(scanf("%d %d", &n, &m) == 2)
10     {
11         sum = 0;
12         buf[0] = n;
13         for(i = 1; i < m; i++)
14             buf[i] = sqrt(buf[i-1]);
15         for(i = 0; i < m; i++)
16             sum += buf[i];
17         printf("%.2lf
", sum);
18     }
19     return 0;
20 }
原文地址:https://www.cnblogs.com/la0bei/p/3649506.html