杭电Oj刷题(2009)

求数列的和

题目描述:

数列的定义如下:
数列的第一项为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>
int main(){
    int n,m;
    double x,sum;
    x=0;
    sum=0;
    while(scanf("%d%d",&n,&m)!=EOF){
    	x=sqrt(n);
    	sum=n;
    	for(int i=1;i<m;i++){
    	   sum=sum+x;
           x=sqrt(x);
		}
		printf("%.2lf\n",sum);
	}
    
    return 0;
}

版权声明:本文为ZhangShaoYan111原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。