题解 | #计算小球走过的路程和反弹高度#
计算小球走过的路程和反弹高度
https://www.nowcoder.com/practice/ac674f68367149d5ad1f857a379e69c9
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
// 下落的高度和落地的次数
double h;
int n;
cin >> h;
cin >> n;
// write your code here......
double dis = 0;
for(int i=1; i<=n; i++){
if(i==1){
//第一次落地时经过了h米
dis = h;
}else{
//第n次落地相比于第n-1次落地增加经过了2个h米(一上一下,注意落地后‘先上后下’,上和下的距离相等,都是h)
dis = dis + 2*h;
}
//每次落地,目标高度减半,即将上弹h米
h = h/2;
}
cout<<fixed<<setprecision(1)<<dis<<" "<<h;
return 0;
}
