一个球从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);
循环输入。每组数据首先输入一个整数 n(n≤106)n(n \le 10^6)n(n≤106),然后再输入 nnn 个整数 aia_iai,再输入一个整数 xxx,将 xxx 插入数组的第一个位置后,将插入后的数组输出。当没有任何输入时,程序结束。