一个球从x(x大于等于10)米高度自由落下,每次落地后跳回原来的一半,再落下。求他在第n次落地时,共多少米

一个球从x(x大于等于10)米高度自由落下,每次落地后跳回原来的一半,再落下。求他在第n次落地时,共多少米

参考:

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    double x;
    int n;
    cout << "请输入球的初始高度x(米)和落地次数n:";
    cin >> x >> n;

    double h = x;   // 初始高度
    double s = h;   // 初始路程
    for (int i = 1; i < n; i++) {
        h /= 2;
        s += 2 * h;
    }

    cout << "第" << n << "次落地时,共经过" << s << "米" << endl;

    return 0;
}


如果要求小数点后保留两位,则需要使用 printf 函数进行输出

printf("第%d次落地时,共经过%.2f米\n", n, s);