题解 | 求小球落地5次后所经历的路程和第5次反弹的高度
#include <iostream>
using namespace std;
int main() {
double h;
cin>>h;
double p1 = h;
double sum=h;
for (int i=1; i<5; i++) { //第n次落地的总距离相当于第一次下落距离加上n-1次往返的距离,每次往返的长度减少原来的1/2
sum+=2*(p1/2);
p1=p1/2;
}
double p2=h;
for (int i=0; i<5; i++) {
p2=p2/2; //每次反弹高度减少1/2
}
cout<<sum<<endl;
cout<<p2;
}
// 64 位输出请用 printf("%lld")