一球从100米高度自有落下,每次落地后反弹跳回原高度的一半,在落下,求它在第12次落地时,共经过多少米,第9次反弹多高?
用Java实现
public class Test {
public static void main(String[] args) {
double sum=100,height=100;
for(int i=1;i<=9;i++)//计算第一次落地到第九次落地再弹起小球经过多少米
{
height=height/2;
sum=sum+height*2;
}//循环结束,小球第十次落地
height=height/2;//第十次弹起的高度,按题意此时不再计算
System.out.println("第十次落地时的高度是:"+height+"\n小球共经过:"+sum+"米");
}
}
等比数列求和?
public void test() {
int j = 1; // 弹起的次数
double z = 0; // 每次弹起时一共经过多少米
double s = 100; // 每次落地时下一次反弹多少米
while (s > 0) {
z += s; // 每次落地时球经过的路程
s = s / 2; // 每次落地时球下一次反弹多少米
if (j == 12) {
System.out.println("第十二次落地时经过的总路程为: " + z);
}
z += s; // 每次弹起到顶点时球经过的了路程
if (j == 9) {
System.out.println("第九次弹起高度为: " + s);
}
j += 1; // 弹起的次数
}
}