本文主要是介绍递归题:话说一个小球从100米空中落下,每次反弹一半高度,请问第12次反弹的高度是多少,小球总共经过多少米?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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
这篇关于递归题:话说一个小球从100米空中落下,每次反弹一半高度,请问第12次反弹的高度是多少,小球总共经过多少米?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!