最开始把共经过多少米理解错了,以为还要加上最后一次回弹的高度。
结果是只计算落地瞬间经过多少米
第一次落地m
第二次落地m+m
第三次落地m+m+m/2
第四次落地m+m+m/2+m/4
#include <bits/stdc++.h>
using namespace std;
int main()
{
int m,n;
scanf("%d%d",&m,&n);
float h,s=0;
h=m*1.0/pow(2,n);
printf("%.2f ",h);
for(int i=0; i<n; i++)
s+=m*2.0/pow(2,i);//2m+m+m/2+m/4+....(第一次触地,把m写出2m,更好计算)
printf("%.2f\n",s-m);//减去多加的m
return 0;
}