解题思路:我们把每次弹起来看做一次终点,每段即为M+M/2
注意事项:注意最后一次并没有弹起来所以需要减去一个M;
参考代码:
自由下落的距离计算
#include<bits/stdc++.h>
using namespace std;
int main(){
double M,N,sum;
cin>>M>>N;
sum=0;
while(N--){
M=M/2;
sum=sum+M*2+M;
if(N==0){
sum=sum-M;
}
}
cout<<fixed<<setprecision(2)<<M<<" "<<sum;
return 0;
}
0.0分
0 人评分