Niuke.com | 5回の着地後のボールの距離とリバウンドの高さを見つける

トピック情報

ボールが任意の高さから自由に落下し、着地するたびに元の高さの半分に跳ね返るとします。ボールが再び落下した場合、5回目の着地で何メートルかかりますか?5回目の跳ね返りの高さはどれくらいですか?

初期の高さはint型で、最終的なエラー判定は小数点以下6桁です。

回答

下の図に示すように、初期の高さは高さ、緑の高さは各着陸の距離、黄色の背景は各跳ね返りの高さです。

5つの踊り場の合計の高さは次のとおりです。高さ+高さ/ 2 +高さ/ 2 +高さ/ 4 +高さ/ 4 +高さ/ 8 +高さ/ 8 +高さ/ 16 +高さ/ 16 = 23高さ/ 8

5つのリバウンドの高さは次のとおりです:height / 32

コーディング

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BallFall {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String input;
		while((input = br.readLine()) != null) {
			double startHeight = Integer.parseInt(input);
			double sumHeight = 23 * startHeight / 8;
			System.out.println(sumHeight);
			double reverseFall = startHeight / 32;
			System.out.println( reverseFall);
		}
	}
}

 

おすすめ

転載: blog.csdn.net/magi1201/article/details/114776494