题解 | #求小球落地5次后所经历的路程和第5次反弹的高度#
求小球落地5次后所经历的路程和第5次反弹的高度
https://www.nowcoder.com/practice/2f6f9339d151410583459847ecc98446
#include <stdio.h> /* 思路1: 计每次落地的最近的最大高度curheight为ch_n米,ch1=初始高度,ch2=1/2ch1,ch3=1/2ch2。。。。 一个等比数列求通向公式 计每次落地从前一次落地经历为delta_n米,delta1=ch1,delta2=ch2*2=ch1,delta3=ch3*2=ch2=1/2ch1,而Sum=1+1+1/2+1/4..除去首项就是1个首相为初始高度,公比为1/2的等比数列的和 第n次落地总共走过的距离sum=ch1+{ch1*(1-(1/2)^(n-2)}/{1-1/2} 第n次落地后反弹的高度其实就是ch_(n+1)=1/2ch_n=ch1*(1/2)^(n) 此题n=5 ch5=ch1/32; sum5=ch1+2*(ch1-ch1/16); */ int main() { float ch1=1.0; scanf("%f",&ch1); printf("%.6f\n%.6f",ch1+2*(ch1-ch1/16),ch1/32); }