题意:
        

方法一:
模拟

思路:
        根据题意直接模拟,计算出路程总和,反弹的高度。
        并输出。



#include <bits/stdc++.h>

using namespace std;

int main(){
    double x,sum=0;//sum表示路程总和,x表示反弹的高度
    cin >> x;
    sum+=x;
    for(int i=1;i<5;i++){
        sum+=x;//路程累加
        x/=2;//反弹高度减半
    }
    printf("%.6f\n%.6f\n",sum,x/2);
    return 0;
}



时间复杂度:
空间复杂度:

方法二:
公式法


思路:
    将方法一中的常数级别的循环变为直接求解。
    按照下图所示:
        
#include <bits/stdc++.h>

using namespace std;

int main(){
    double x;
    cin >> x;
    printf("%.6f\n%.6f\n",23.0/8*x,x/32);//公式计算输出
    return 0;
}



时间复杂度:
空间复杂度: