欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一球从100米高度*落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

程序员文章站 2022-07-06 21:11:08
...

一球从100米高度*落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
//第10次落地,反弹9

#include<stdio.h>
int main()
{
	int i = 0;
	double high = 100;  //起始高度
	double sum = 0;    //经过距离
	
	for (i = 1; i < 10; i++)
	{
		sum += (high + high / 2.0);  //每一次下落高度与反弹高度
		high /= 2;					 //反弹高度,也就是下一次的下落高度
	}
	sum += high;            //上面所求为反弹9次的路程,还要加上第10落地的距离。此时的high是第9次反弹的距离。
	printf("%lf %lf", sum, high/2);
	return 0;
}

推荐阅读