酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

一个球从某一高度 h h落下,每次落地后反跳回原来高度的一半,再落下。 计算球在第 10 10 次落地时,共经过多少米?第 10 10 次反弹多高?一个整数 ℎ , 1 ≤ ℎ ≤ 100 ,表示球的初始高度。输出包含两行: 第 1 行:到球第 1 次落地时,一共经过的米数。 第 2 行:第 1 次反弹的高度。 要求输出结果保留到小数点后 4 位。浮点数输出精度控制 printf( "%.3lf", x ); // x 为double类型,3表示按照四舍五入保留3位小数 

```python h = int(input()) distance = h height = h / 2 for _ in range(2, 11): distance += height * 2 height /= 2 print("{0:.4f}".format(distance)) print("{0:.4f}".format(height)) ``` 代码逻辑: 1. 初始高度h作为输入,第一次落地经过的距离就是h 2. 第一次反弹高度是h/2 3. 从第二次落地开始,每次落地经过的距离是反弹高度的两倍(上升+下降) 4. 每次反弹高度减半 5. 循环计算到第10次落地 6. 按要求格式输出结果 需要注意的逻辑点: 1. 第一次落地距离计算与其他次不同(只有下落没有上升) 2. 反弹高度每次都是前一次的一半 3. 循环范围是2到10(包含10次落地) [2025-05-16 19:04:57 | AI写代码神器 | 191点数解答]

相关提问