202052 - 序号3 - (4399-2020年)
(java实现)
题目描述:
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地时,共经过多少米?第n次反弹多高?(n<=10)
输入描述:
一行,一个整数n (1<=n<=10)。
输出描述:
输出两个浮点数ans1,ans2。ans1为第n次落地时,共经过的距离;ans2为第n次反弹的高度。答案应与标准答案误差小于1e-5。两个数间以空格相间。
示例1:
输入
1
输出
100.000000 50.000000
输入
1
输出
299.609375 0.097656
问题分析:
注意是往返距离
相关知识:
输出的格式:System.out.printf("%.6f %.6f\n", sum, hight);
参考代码:
思路一实现:
import java.util.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); double sum = 100.0; double hight = 100.0; for (int i=1; i<n; i++) { hight /= 2; sum += hight*2; } hight /= 2; System.out.printf("%.6f %.6f\n", sum, hight); } }