华为机试HJ38:求小球落地5次后所经历的路程和第5次反弹的高度

简介: 华为机试HJ38:求小球落地5次后所经历的路程和第5次反弹的高度

题目描述:

假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?

最后的误差判断是小数点6位

输入描述:

输入起始高度,int型

输出描述:

分别输出第5次落地时,共经过多少米第5次反弹多高

示例:

输入:

1

输出:

2.875

0.03125

解题思路:

第一次落地经历的是输入的高度,从第二次开始,相当于进行了前一次的高度,因为反弹高度是0.5倍,但是往返,这样可以得到五次落地总共经历的距离sum;循环从i=1开始,每次循环后temp/2得到的值相当于第i次反弹的高度,比如第一次反弹的高度是0.5m,以此类推;i最大到4,也就是说循环结束后的temp是第4次反弹高度,题目要求第5次反弹高度,所以再除以2即可。

测试代码:

#include <iostream>
using namespace std;
int main()
{
    int heigh;
    while(cin>>heigh)
    {
        double sum=0;
        double temp=static_cast<double>(heigh);
        // 第1次落地
        sum+=temp;
        // 第2-5次落地均是往返
        for(int i=1;i<5;++i)
        {
            sum+=temp;
            // temp/2为第i次的反弹高度,i最多到4
            temp/=2;
        }
        cout<<sum<<endl;
        // 第5次落地后进行第5次反弹,所以temp还要除以2
        cout<<temp/2<<endl;
    }
    return 0;
}
相关文章
|
3月前
代码随想录Day29 贪心04 LeetCode T860 柠檬水找零 T406 根据身高重建队列 T452 用最少得箭引爆气球
代码随想录Day29 贪心04 LeetCode T860 柠檬水找零 T406 根据身高重建队列 T452 用最少得箭引爆气球
25 0
|
9月前
一个球从 1000 米高空掉落,每次弹起高度是上一次的 50% ,弹几次后,高度低于 1 米
一个球从 1000 米高空掉落,每次弹起高度是上一次的 50% ,弹几次后,高度低于 1 米
44 0
|
5月前
|
算法 Java
代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球
代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球
39 0
|
10月前
【每日一道智力题】之蚂蚁走树脂和绳子秒表
【每日一道智力题】之蚂蚁走树脂和绳子秒表
88 0
|
10月前
洛谷P1135 奇怪的电梯——广搜
洛谷P1135 奇怪的电梯——广搜
72 0
一个球从100m高度自由落下,每次落地后反弹回原来高度的一半,在落下,在反弹,求它在第十次落地时共经历了多少米,第十次反弹多高。
一个球从100m高度自由落下,每次落地后反弹回原来高度的一半,在落下,在反弹,求它在第十次落地时共经历了多少米,第十次反弹多高。
(第21列)C语言典型题:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
(第21列)C语言典型题:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
(第21列)C语言典型题:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
【CCCC】L3-018 森森美图 (30分),计算几何+判断三点共线+bfs最短路
【CCCC】L3-018 森森美图 (30分),计算几何+判断三点共线+bfs最短路
113 0
|
C++ Python
2022年5月14日LeetCode双周赛第三题-6068. 毯子覆盖的最多白色砖块数
2022年5月14日LeetCode双周赛第三题-6068. 毯子覆盖的最多白色砖块数
2022年5月14日LeetCode双周赛第三题-6068. 毯子覆盖的最多白色砖块数
7-9 用天平找小球 (10 分)
7-9 用天平找小球 (10 分)
75 0