1. 程式人生 > >每日一道演算法題:求數列的和

每日一道演算法題:求數列的和

題目描述

數列的第一項為n,以後各項為前一項的平方根,求數列的前m項的和。

輸入描述:

輸入資料有多組,每組佔一行,由兩個整數n(n < 10000)和m(m < 1000)組成,n和m的含義如前所述。

輸出描述:

對於每組輸入資料,輸出該數列的和,每個測試例項佔一行,要求精度保留2位小數

示例

輸入
81 4
2 2
輸出
94.73
3.41

java程式碼:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public
class Test { public static void main(String[] args) { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); //建立BufferedReader String s=null; try { while ((s=br.readLine())!=null) { double sum=0; String [] sIn=s.split(" "
); //以空格分割字串,返回值是字元類陣列 double n=Double.parseDouble(sIn[0]); //將字元類轉成double型別 int m=Integer.parseInt(sIn[1]); //將字元類轉成int型別 for (int i = 0; i < m; i++) { sum+=n; //System.out.println(sum); n=Math.sqrt(n); //算術平方根
//System.out.println(n); } System.out.printf("%.2f", sum); //保留2位小數 } } catch (NumberFormatException e) { //字元類轉型成數字可能會出越界錯誤 // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }