华为机试:求小球落地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; }