本帖最后由 黄小贝 于 2012-10-21 03:22 编辑
饭后一道题,天天好心情~
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
这道题不难,没什么好说的~ 唯一注意的地方是要求的是 第十次落地时一共经过的路程,而不是第十次反弹到最高点时经过的路程
- package day5;
- /**
- * 一球从100米高度自由落下,每次落地后反跳回原高度的一半;
- * 再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
- * @author yellowbaby
- *
- */
- public class Test {
-
- private static Double sum = 0.0;//经过的总高度
- public static void main(String[] args) {
-
- Double height = getHeight(10,100.0);
-
- System.out.println(height);
- System.out.println(sum);
- }
- /**
- * 得到第 times 次反弹的高度
- */
- private static Double getHeight(int times,Double height) {
-
- int i = 0;
- do {
- sum += height;
- height /= 2;
- sum += height;
- i++;
- } while (i < times);
-
- sum -= height;
-
- return height;
- }
- }
复制代码 |