华为测试 求小球落地5第二距离和经验后,5反弹高度

如果球从任意高度自由下落,后每个着陆跳回半抗原高度的; 再次向下, 寻求它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);
}



版权声明:本文博客原创文章。博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/mfrbuaa/p/4630418.html