一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地时反弹多高?共经过多少米?保留两位小数

#include <iostream>
#include<stdio.h>
#include<iomanip>
using namespace std;

int main()
{
    double m,n,i,t;
    double s=0,h;
    cin>>m>>n;
	t=m;
	m=m/2;
    for(i=1;i<n;i++)
    {
        if(n==1)
        {
            h=t/2;
        }
        else if(n>1)
        {
            h=m/2;
            m=h;
            s=s+4*h;
        }
    }
    s=s+t;
    cout<<setiosflags(ios::fixed)<<setprecision(2)<<h<<" "<<s<<endl;

    return 0;
}


 

你可能感兴趣的:(一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地时反弹多高?共经过多少米?保留两位小数)