JAVA经典算法(十)

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?  

package cn.ls.lanqiao;

import java.util.*;

public class Test10 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		System.out.println("第" + n + "次反弹了" + fanTanHeight(n) + "米");
		double sum = 0;
		double h = 100;
		for (int i = 0; i < n; i++) {
			sum = sum + h;
			h = fanTanHeight(i);
		}
		System.out.println("第" + n + "次落地时共经过" + sum + "米");
	}

	public static double fanTanHeight(int n) {
		double h = 100;
		for (int i = 1; i <= n; i++) {
			h = h / 2;
		}
		return h;
	}
}

 

posted @ 2020-01-13 22:53  小帅学java  阅读(10)  评论(0)    收藏  举报