牛客网机试题-数列的和

题目描述
数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。

输入描述:
输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。
输出描述:
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。

示例

输入
81 4
2 2
输出
94.73
3.41

代码:这个代码最值得记下来的就是处理输入这部分的情况。

import java.io.*;
import java.util.*;
public class Main{
    public static void main(String[] args)throws Exception{
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String buffer = null;
        while((buffer = bf.readLine()) != null){
            String[] str = buffer.split(" ");
            int n = Integer.valueOf(str[0]);
            int m = Integer.valueOf(str[1]);
            help(n, m);
        }
    }
      
    public static void help(int n, int m){
        double sum = n;
        double temp = n;
        for(int i=1; i<m; i++){
            temp = Math.sqrt(temp);
            sum += temp;
        }
        System.out.printf("%.2f\n",sum);
    }
}

你可能感兴趣的:(牛客网机试题)