假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?
输入起始高度,int型
分别输出第5次落地时,共经过多少米第5次反弹多高
【去掉小数末尾无效的0】
样例输入:1样例输出:2.875
0.03125
#include<iostream>
using namespace std;
double high(double H,int N);
double total(double H,int N);
int main()
{
int height;
double Total;
cin>>height;
double fif;
Total=total(height,5);
fif=high(height,5);
cout<<Total<<endl;
cout<<fif;
return 0;
}
double high(double H,int N)
{
if(N==1)
return H/2;
else
return high(H/2,N-1);
}
double total(double H,int N)
{
if(N==1)
return H;
else
return 2*high(H,N-1)+total(H,N-1);
}
华为测试 求小球落地5次后所经历的路程和第5次反弹的高度,布布扣,bubuko.com
原文地址:http://blog.csdn.net/wbsld/article/details/37568687