c++简单题目 求大神帮帮我

一小球从N米高处自由落下,每次落地后反跳回原高度的一半,然后再落下,再弹起,……一直到小球弹起的高度不足0.5米时,计算小球一共经过了多少路程?样例输入200样例输出59... 一小球从N米高处自由落下,每次落地后反跳回原高度的一半,然后再落下,再弹起,……一直到小球弹起的高度不足0.5米时,计算小球一共经过了多少路程?

样例输入

200

样例输出

598.438
展开
 我来答
391998495979
2019-03-17 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:312
采纳率:73%
帮助的人:83.3万
展开全部
#include <iostream>
int main()
{
    double n;
    double distance;
    std::cin>>n;
    while(n>=0.5)
    {
        distance+=(n+n/2);
        n/=2;
    }
    std::cout<<distance<<std::endl;
    return 0;
}

n每次除2,路程加n和n/2,当N小于0.5时结束循环

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式