*皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?
#include <stdio.h>
int main()
{
double h;
int n;
scanf("%lf %d", &h, &n);
int i;
double sum = 0;
double h0 = h;
if(n == 0)
{
printf("0.0 0.0");
}
else
{
for(i = 1; i <= n; i++)
{
h0 = h0 / 2;
sum += 3 * h0;
}
printf("%.1lf %.1lf", sum - h0, h0);
}
return 0;
}
本文介绍了一个简单的数学问题,即如何计算一个皮球从特定高度自由下落并反复反弹时,在第n次落地前总共经过的距离及最后一次反弹的高度。通过递推公式进行计算,并给出了具体的C语言实现代码。
582

被折叠的 条评论
为什么被折叠?



