人间词话·CODE

但行好事,莫问前程。

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

题目

描述

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

输入

输入起始高度,int型

输出

分别输出第5次落地时,共经过多少米第5次反弹多高
【去掉小数末尾无效的0】

样例输入

1

样例输出

2.875
0.03125

思路

有趣的一道题
1. 假设落地到弹起算一个周期
2. 因此当计算到第五个周期的时候,表示落了五次地并弹起的距离,此时的高度为第五次反弹的高度。

代码

这样写感觉还行

#include <iostream>

using namespace std;

int main()
{
    int initialH=0,times=5;
    double pathLength=0.0,height=0.0;
    cin>>initialH;
    height=initialH;
    //times表示次数
    while(times!=0)
    {
        pathLength+=height;//一次落地
        height/=2;
        pathLength+=height;//一次弹起
        times--;
    }
    cout<<pathLength-height<<endl;
    cout<<height<<endl;
    return 0;
}

这里写图片描述

阅读更多
版权声明:本文为博主原创文章,欢迎转载,分享是一种态度。 https://blog.csdn.net/u010352111/article/details/53997257
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭