华为机试:求小球落地5次后所经历的路程和第5次反弹的高度
#include <iostream>
#include <cmath>
using namespace std;
double length (int n, int time) {
if (time == 1) return n;
return (double)n / (double)pow(2, time - 2) + length(n, time - 1);
}
int main() {
int n;
cin >> n;
cout << length(n, 5) << endl;
cout << (double)n / (double)pow(2, 5) << endl;
return 0;
}

查看22道真题和解析