程序十
程序员文章站
2022-07-07 23:18:14
...
程序十
题目:一球从h米高度*落下,每次落地后反跳回原高度的一半;
再落下,求它在 第n次落地时,共经过多少米?第n次反弹多高?
注意第n次反弹的高度:(1/2)的n次方*h
然后第n次落地经过: h+(h/2)*2+(h/2/2)*2 +…+h/(2的n-1次方)*2
import java.util.*;
public class test10 {
public static void main(String[] args) {
System.out.println("请输入小球下落的高度和落地的次数:");
Scanner scanner=new Scanner(System.in);
float h=scanner.nextFloat();
float n=scanner.nextFloat();
float sum=h;//经过的路程总和
h/=2;//第一次下落是在最高点,sum中不会有两倍的h,所以写在外面,循环从第二次开始
for (int i = 2; i <=n; i++) {
//经过的距离的总和
sum+=h*2;
//第N次反弹的高度为
h/=2;
}
System.out.println("在"+100+"米,经过"+n+"次后,能反弹:"+h+"米,经过的距离:"+sum);
}