思路
水一篇打表题解。
首先第十次弹跳的高度很简单,是 $h\div1024$。
接下来看共经过的米数:
$$ h\times(1+1+\frac{1}{2}+\frac{1}{2^2}+...+\frac1{2^8}) $$
右边那串东西可以按按计算器,也可以套等比数列求和公式:
$$ S=1+\frac{1-\frac1{256}\times\frac12}{\frac12}=\frac{767}{256} $$
所以经过的米数为 $h\times\frac{767}{256}$ 米。
代码
#include<bits/stdc++.h>
using namespace std;
double h;
int main(){
scanf("%lf",&h);//输入h
printf("%lf %lf",h*767.0/256.0,h/1024.0);//输出所经过米数和第十次弹跳高度
return 0;
}
最后一次更新于2021-07-04
0 条评论