【2021】小球走过的路程

Time Limit: 3 second
Memory Limit: 2 MB

【问题描述】

小球从某高处自由落下,着地后又弹回高度的一半再落下。求第20次着地时, 小球共通过多少路程?

【输入】

一行,小球自由落下时所处的高度。

【输出】

一行,小球共通过的路程数。

【输出格式知识点】

当输出项是实型数时,如果希望输出的实数不用科学记数法形式输出而用小数形式输出,可以用指定双场宽方法输出,双场宽只适用于实型数的输出。
双场宽输出格式为:write(实型数:m:n),其中m和n都是自然数,m用于指定整个数据所占的宽度,n用于指定输出小数的位数。
如果双场宽指定中m小于n+2,则m无效,按保留n位小数的最少位数输出。
如果对总宽度没有要求而只要求小数的保留位数,往往把m设成0。

【输入样例】

100

【输出样例】

300

【题解】

稍微想想就知道的题。模拟一下就好。

【代码】

#include <cstdio>

double init_high,ans = 0;

void input_data() //读入初始的高度
{
    scanf("%lf",&init_high);
}

void get_ans()
{
    ans += init_high; //先加一个初始高度,掉一次了
    for (int i = 1;i <= 19;i++) //再碰19次。
        {
            init_high /= 2; //高度变为原来的一半
            ans += (init_high*2);
        }
}

void output_ans()
{
    printf("%.lf",ans);
}

int main()
{
    input_data();
    get_ans();
    output_ans();
    return 0;
}


 

转载于:https://www.cnblogs.com/AWCXV/p/7632477.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值