描述
假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?
数据范围:输入的小球初始高度满足 1≤n≤1000 ,且保证是一个整数
输入描述:
输入起始高度,int型
输出描述:
分别输出第5次落地时,共经过多少米以及第5次反弹多高。
注意:你可以认为你输出保留六位或以上小数的结果可以通过此题。
示例1
输入:
1
输出:
2.875
0.03125
题解
(高中物理题)
综合初始高度h、重力加速度g,可以求得下落之后小球反弹的高度为
h' = h/2
AC code
/// HJ38 求小球落地5次后所经历的路程和第5次反弹的高度
#include <bits/stdc++.h>
using namespace std;
int main()
{
int height;
cin>>height;
int n=5;
double h=(double)height;
double dic=h;
for(int i=0; i<n; i++)
{
if(i==0)
continue;
h = h/2;
dic += h*2;
}
cout<<dic<<endl;
cout<<h/2<<endl;
return 0;
}