您的位置:首页 > 其它

人人网2017实习-求数列的和

2017-05-08 20:31 120 查看
考查递归。

package 人人网;

import java.util.Scanner;

/**
* 题目描述:数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
* 输入:输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。
* 输出:对于每一组输入数据,输出该数列的和,每个测试实例占一行,要求经度保留2为小数。
* 样例输入:
* 81 4
* 2 2
* 样例输出:
* 94.73
* 3.41
*/
public class Q2017笔试_2 {

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
int n = scanner.nextInt();
int m = scanner.nextInt();
double result = get((double)n, m);
System.out.println(String.format(".%2f", result));
}

}
/**
* 函数功能:递归求解数列n,m的和。
* @param n
* @param m
* @return
*/
public static double get(Double n, int m){
if(n <= 0){
return 0;
}

if(m == 0){
return n;
}

return n + get(Math.sqrt(n), m-1);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: