数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。(java)

代码如下:

import java.util.Scanner;

/**
 * 数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
 * 输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。
 * 对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
 * 81 4    ->      94.73
 * 2 2     ->      3.14
 */
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()){
            int n = sc.nextInt();
            int m = sc.nextInt();

            if (n==0) System.out.printf("%.2f",0);
            if (n<0 || m<0){
                System.out.println("请重新输入");
                sc.close();
            }
            double res = getSum(n,m);
            System.out.printf("%.2f",res);

        }
        sc.close();
    }

    static double getSum(double n, int m){
        double sum = 0;
       for (int i=0;i<m;i++){
           sum += n;
           n = Math.sqrt(n);
       }
       return sum;
    }
}

发布了10 篇原创文章 · 获赞 0 · 访问量 328

猜你喜欢

转载自blog.csdn.net/Esther_Lee/article/details/105580864