题解 | #求小球落地5次后所经历的路程和第5次反弹的高度#
求小球落地5次后所经历的路程和第5次反弹的高度
https://www.nowcoder.com/practice/2f6f9339d151410583459847ecc98446
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
BigDecimal high = new BigDecimal(scanner.nextInt());
BigDecimal sum = new BigDecimal(0);
for (int i = 1; i <6 ; i++) {
if (i==1){
sum=sum.add(high);
}else{
BigDecimal r = high.divide( new BigDecimal(Math.pow(2,i-1))).multiply(new BigDecimal(2));
sum=sum.add(r);
}
}
System.out.println(sum);
System.out.println(high.divide(new BigDecimal(Math.pow(2,5))));
}
}
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
BigDecimal high = new BigDecimal(scanner.nextInt());
BigDecimal sum = new BigDecimal(0);
for (int i = 1; i <6 ; i++) {
if (i==1){
sum=sum.add(high);
}else{
BigDecimal r = high.divide( new BigDecimal(Math.pow(2,i-1))).multiply(new BigDecimal(2));
sum=sum.add(r);
}
}
System.out.println(sum);
System.out.println(high.divide(new BigDecimal(Math.pow(2,5))));
}
}