- public class Distance {
- //把一次弹起和一次下落看为一个单位,比如第一次弹起s米,
- //下落s米,则在第一个单位内运行了反弹高度的两倍2s.
- public static float distance(int num,float s){
-
- //这里把num=10时看为第一次弹起,以此类推
- if(num>1)
- return distance(num-1,s/2)+2*s;// s/2表示每次落地后反跳回原高度的一半
- else
- {
- System.out.println ("第十次弹起高度:"+s);
- return 2*s;
- }
-
- }
-
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- float sum=distance(10,50);//此时没有包括第一次下落的距离
- System.out.println ("球运行的总路程为:"+(sum+100));//sum加上最初的高度100米,就是球运行总长度
- }
- }
复制代码 |