码迷,mamicode.com
首页 > 其他好文 > 详细

华为测试 求小球落地5次后所经历的路程和第5次反弹的高度

时间:2014-07-09 12:44:34      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:c++   函数 递归   

假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第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

华为测试 求小球落地5次后所经历的路程和第5次反弹的高度

标签:c++   函数 递归   

原文地址:http://blog.csdn.net/wbsld/article/details/37568687

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!