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;
}