题目
求数列的和
数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
输入数据有多组,每组占一行,由两个整数n和m组成。
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
一、使用语言:JAVA
参考正解代码如下:
import java.util.*;
public class Main{
public static void main(String args[]){
int m;
double sum,n;
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
n=sc.nextInt();
m=sc.nextInt();
sum=0;
for(int i=0;i<m;i++){
sum=sum+n;
n=Math.sqrt(n);
}
System.out.printf("%.2f",sum);
System.out.println();
}
}
}
二、使用语言:C++
参考正解代码如下:
#include <math.h>
#include <stdio.h>
int main()
{
int n;
double x, s;
while (~scanf("%lf%d", &x, &n))
{
for(s = 0.0; n--; x = sqrt(x))
s += x;
printf("%.2lf\n", s);
} return 0;
}
三、使用语言:JavaScript
参考正解代码如下:
var m;
var sum,n;
var sc
while(sc = read_line()){
var arr = sc.split(' ');
n=parseInt(arr[0]);
m=parseInt(arr[1]);
sum=0;
for(var i=0;i<m;i++){
sum=sum+n;
n=Math.sqrt(n);
}
print(sum.toFixed(2));
}