这一道题跟上一道级数求和很像,不同的是这一道题用到了Java小数的输入,由于小玉第一步就是2m,所以我就直接猜测测试数据不会有小于2的数据,就没有用分支来分情况写,结果跟我猜测的一样,直接通过了。下面是代码。近期我会总结一下进来我所遇到的Java中关于输入的小结。
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);//输入目的数据k
try{
double k ;//保存目的数据
double a = 2 ;//初始距离
int num = 1 ;//计数游了多少步
double sum = 2 ;//最终游泳的距离
k=scan.nextDouble();//接收小数
while(sum<=k){//判断总和是否超过了k
num=num+1;
a=a*0.98;
sum = sum + a;
}
System.out.println(num);
}finally{
scan.close();
}
}
}