首页 > 试题广场 >

求小球落地5次后所经历的路程和第5次反弹的高度

[编程题]求小球落地5次后所经历的路程和第5次反弹的高度
  • 热度指数:164602 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}假设有一个小球从 h 米高度自由落下,我们不考虑真实的物理模型,而是简洁的假定,该小球每次落地后会反弹回原高度的一半;再落下,再反弹;……。
\hspace{15pt}求小球在第五次落地时所经历的路程和第五次反弹的高度。

\hspace{15pt}在本题中,路程的计算仅需考虑垂直方向的变化。

输入描述:
\hspace{15pt}在一行上输入一个整数 h \left(1 \leqq h \leqq 10^3\right) 代表小球的初始高度。


输出描述:
\hspace{15pt}第一行输出一个实数,代表小球在第五次落地时所经历的路程。
\hspace{15pt}第二行输出一个实数,代表第五次反弹的高度。

\hspace{15pt}由于实数的计算存在误差,当误差的量级不超过 10^{-6} 时,您的答案都将被接受。具体来说,设您的答案为 a ,标准答案为 b ,当且仅当 \frac{|a-b|}{\max(1,|b|)}\leqq 10^{-6} 时,您的答案将被接受。
示例1

输入

1

输出

2.875
0.03125

说明

\hspace{15pt}第一次反弹高度为 0.5 米,第二次反弹高度为 0.25 米,第三次反弹高度为 0.125 米,第四次反弹高度为 0.0625 米,第五次反弹高度为 0.03125 米。
\hspace{15pt}截止第五次落地,总路程为 1 + 2 \times \left(0.5 + 0.25 + 0.125 + 0.0625\right) = 2.875 米。
头像 AlphaGrey
发表于 2021-10-19 20:00:32
import sys for line in sys.stdin: num=int(line[:-1]) print(num*2.875) print(num*0.03125)
头像 牛客940206908号
发表于 2021-10-05 17:28:12
暴力求解: 总路程,除了第一次下落是单程,其他次着地都包含前一次反弹,所以是两倍高度。 while True: try: H1 = float(input()) H2 = H1/2 H3 = H2/2 H4 = H3/2 展开全文
头像 keepgoing20190801113019
发表于 2021-05-31 16:40:25
#include <iostream> using namespace std; int main() {//设置初始高度为h,则结果全部为h和1m所对应结果的乘积     int hei 展开全文
头像 牛客484960258号
发表于 2021-12-26 16:06:37
while True: try: H = int(input()) S = 0 - H for i in range(5): S = S + H * 2 H = H/2 print 展开全文
头像 秋榆梧桐
发表于 2020-03-03 21:01:08
while True: try: high = int(input()) sm = high for i in range(4): high /= 2 sm += 2 * high 展开全文
头像 摸鱼学大师
发表于 2021-10-21 10:34:13
题目的主要信息: 一球从hhh米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第555次落地时共经过了多少米?第555次返弹多高? 精度保留到小数点后6位,输出去掉后面的0 方法一:过程模拟 具体做法: 我们遍历落地次数,第一次走过了落下高度这么多距离,然后弹起高度降低一半,然后走了弹 展开全文
头像 代码界的小白
发表于 2021-12-04 16:11:16
题目主要信息 1、一球从hhh米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第555次落地时共经过了多少米?第555次返弹多高? 2、精度保留到小数点后6位,输出去掉后面的0 方法一:模拟 具体方法 遍历落地次数,第一次走过了落下高度这么多距离,然后弹起高度降低一半,然后走了弹起的高度这 展开全文
头像 牛客845801028号
发表于 2021-04-28 16:43:27
这也叫中等困难题?第k次落地经过的距离为:解这个等比数列: #include<iostream> #include <cmath> using namespace std; int main(){ int n=0; while(cin>>n){ 展开全文
头像 想吃火锅的猪猪是我的神
发表于 2022-03-21 21:52:02
#include<stdio.h> int main() { int n; scanf("%d",&n); double sum=0; double x=(double)n; for(int i=0;i<5;i++) { 展开全文
头像 大模型练习生
发表于 2020-08-09 15:31:25
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while 展开全文