B2076 球弹跳高度的计算

思路

模拟一下 10 次弹跳的过程。

第一次落地: h
第一次弹跳: h/2
第二次落地: h/2
第二次弹跳: h/4=h/2^2
第三次落地: h/4=h/2^2
第三次弹跳: h/8=h/2^3
...
第十次落地: h/512=h/2^9
第十次弹跳: h/1024=h/2^10

所以第十次弹跳是 $h/1024$,注意经过的米数不包括最后一次弹跳。

共经过 $h+2(h/2+h/4+...+h/512)=\frac{767}{256}h$ 。

代码

#include <iostream>
using namespace std;
double h;
int main()
{
    cin >> h;
    cout << h * 767/256 << endl << h / 1024;
    return 0;
}
posted @ 2021-07-14 09:14  5k_sync_closer  阅读(17)  评论(0编辑  收藏  举报  来源