题解 | 计算小球走过的路程和反弹高度
#include <iostream> #include <iomanip> using namespace std; int main() { // 下落的高度和落地的次数 double h; int n; cin >> h; cin >> n; // write your code here...... double sum = h; if (n == 1) { cout << fixed << setprecision(1) << sum << ' ' << setprecision(1) << h / 2 << endl; } else { for (int i = 2; i <= n; i ++) { h /= 2; // 第 i-1 次反弹高度 sum += 2*h; // 第 i 次落地总和 } cout << fixed << setprecision(1) << sum << ' ' << setprecision(1) << h / 2 << endl; } return 0; }