题目:小球下落问题
时间限制:1S
内存限制:10000Kb
问题描述:
一个球从100m的高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第n次落地时,共经过多少米,第n次反弹多高。
输入说明:
输入一个整数,表示第n次落地反弹。
输出说明:
输出两个浮点数,表示小球经过的距离,和第n次反弹的高度,小数点后保留3位小数。
输入样例:
10
输出样例:
S=299.609 h=0.098
代码:
#include <stdio.h>
int main( )
{
float sn=100,hn;
int i,n;
scanf("%d",&n);
hn=sn/2;
for (i=2; i<=n; i++)
{
sn=sn+2*hn; /*第n次落地时共经过的米数*/
hn=hn/2; /*第n次反跳高度*/
}
printf("S=%.3f h=%.3f\n",sn, hn);
return 0;
}