一小球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
void test() { //思路:路线100->50,50->25,25->12.5,12.5...——100*1/2*1/2*...== // 落地 1 2 3 4 // 100 +100 + 50 + 25...==100+100*(1-pow(0.5,n-1))/0.5 <等比数列> // 高度 :100->50->25->...100*pow(1/2,n) //反弹 1 2 int n = 2; printf("总距离:%g\n", 100 + 100 * (1 - pow(0.5, n - 1)) / 0.5); printf("反弹:%g\n", 100 * pow(0.5, n)); }