题解 | #求小球落地5次后所经历的路程和第5次反弹的高度#
求小球落地5次后所经历的路程和第5次反弹的高度
https://www.nowcoder.com/practice/2f6f9339d151410583459847ecc98446
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<float> v;
v.push_back(n);
float s = n / 2.0; // 第一次落地后反弹的高度,此时已经落地一次
for(int i = 1; i < 5; i++){ // 统计接下来四次落地时,小球走过的路程
v.push_back(s*2);
s /= 2;
}
float ans = 0;
for(float val : v){
ans += val;
}
cout << ans << endl;
cout << s << endl;
}
