本帖最后由 陈少文 于 2012-7-23 11:58 编辑
import java.util.Scanner;
/*
需求:求小球第5次落地时反弹的高度与所走的总路程
已知:小球从5m高的高度自由落下,落地后反弹的高度为前一次的一半,然后继续落下
次数n
高度height =5
当n= 1时为5,当n=2时为2.5
就可以直接推出
f(h_n) =height/2^(n-1)
*/
public class Qiu
{
public static void main(String[] args)
{
System.out.println("请输入次数");
Scanner in = new Scanner(System.in);
int count = in.nextInt();
method(count);
}
public static void method(int n)
{
double h = 5;
//小球n次落地高度
double h_n = h/(Math.pow(2,(n-1)));
System.out.println("小球在高度为"+h_n);
//当n=1时s为5
//当n>2时
double s_n=0;
for(int x=2;x<=n;x++)
{
s_n =h/(Math.pow(2,(x-1)))*2+s_n;
}
System.out.println("小球走的总路程:"+(s_n+h));
}
}
|