一天一个算法题-简单的-递归-计算球的落下

来源:互联网 发布:双引工程知乎 编辑:程序博客网 时间:2024/06/06 09:36

此题摘自<<c语言范例开发大全>>

一个球从100米的高度自由落下,每次落地后反跳回原高度的一半再落下,求他在第10次落地的时候,共经过多少钱。

1.已知要点:第一次落下时候经过的距离。

2.上次的落下距离跟下一次的落下距离有一定关系。

package com.jue.falldown;public class TestFallDown {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("high: " + getDistance(10));}private static double getHeight(int index) {if (index == 1) {return 100;}return getHeight(index - 1) / 2;}static double getDistance(int index) {if (index == 1) {return getHeight(1);} else {return 2 * getHeight(index) + getDistance(index - 1);}}}


原创粉丝点击