递归题:话说一个小球从100米空中落下,每次反弹一半高度,请问第12次反弹的高度是多少,小球总共经过多少米?

2014-11-24 07:35:51 · 作者: · 浏览: 0
package com.domain;
/**
 * 话说一个小球从100米空中落下,每次反弹一半高度,请问第12次反弹的高度是多少,小球总共经过多少米?用递归实现
 * @author Pan
 *
 */
public class Ball {
    
    public static void main(String[] args) {
        //100m
        come(100f/2);
        System.out.println("12 sum:"+sum);
    }
    private static int count=1;
    private static Double sum=0d;
    private static Float come(Float mi){
        System.out.println(count+" \t "+mi+" - m");
        sum+=mi;
        if(count++<12){
            come(mi/2);
        }
        return mi;
    }

}



结果:

0 100.0 m
1 50.0 m
2 25.0 m
3 12.5 m
4 6.25 m
5 3.125 m
6 1.5625 m

7 0.78125 m
8 0.390625 m
9 0.1953125 m
10 0.09765625 m
11 0.048828125 m