关闭

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

89人阅读 评论(0) 收藏 举报
分类:

题目

描述

假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第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;
}

这里写图片描述

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8881次
    • 积分:925
    • 等级:
    • 排名:千里之外
    • 原创:88篇
    • 转载:5篇
    • 译文:0篇
    • 评论:0条