题目描述
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
输入描述:
输入数据有多组,每组占一行,由两个整数n(n < 10000)和m(m < 1000)组成,n和m的含义如前所述。
输出描述:
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
示例1
输入
81 4
2 2
输出
94.73
3.41
解题代码
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int m,n;
while(sc.hasNextInt()){
n=sc.nextInt();
m=sc.nextInt();
if(m==0||n==0){
return;
}
double sum=n; //存储当前和
double nn=n;
//循环当前数字,不断开根号。循环结束即i=m(m次的和)
for(int i=0;i<m-1;i++){
nn=Math.sqrt(nn); //n开平方根
sum+=nn;
}
//截取小数点后两位
String format = String.format("%.2f", sum);
System.out.println(format);
}
}