题解 | 计算小球走过的路程和反弹高度
#include <iostream> #include <iomanip> using namespace std; int main() { // 下落的高度和落地的次数 double h; int n; cin >> h; cin >> n; double dist=0; for (int i=1;i<=n;i++)//以每个top为关注点,最后减去n次反弹的高度即可 {h/=2; dist+=3*h; } cout<<fixed<<setprecision(1)<<dist-h<<" "<<h<<endl; return 0; }