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