题解 | #小球走过路程计算#
小球走过路程计算
https://www.nowcoder.com/practice/ddbb7021c0a7452f9044564234616913
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
float h=scanner.nextFloat();
int n =scanner.nextInt();
float drop = 0;//下落总距离
float rebound = 0;//弹起总距离
float sum = 0;//总路程
for(int i=1;i<=n;i++){//小球下落次数
//计算小球下落的距离
drop += h ;
//弹起的高度是下落的二分之一
h /= 2;
//计算它在第n次落地时共经过了多少米,
//第n次落地,也就是n次下落 ,n-1次弹起
//所以添加判断 当下落次数等于 i 的时候不加上弹起的距离
if(i!=n){
//计算小球弹起的距离
rebound += h ;
}
//计算下落加上弹起的距离
sum = drop + rebound;
}
//输出格式为:System.out.println(String.format("%.3f", h)+" "+String.format("%.3f", sum));
System.out.println(String.format("%.3f", h)+" "+String.format("%.3f", sum));
}
}
查看12道真题和解析