解题思路:
由题: 一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。
可知: 一次落地的距离=下一次落地后弹起的距离*2;即L1=T1*2=L2+T1;
因此第n次落地后弹起的距离为Tn=Ln/2;
在n次落地球所经过的总距离S=L1+L2+T1+L3+T2+.....+Ln+Tn-1=L1+L1+L2+L3+......+Ln-1;
注意事项:S=L1+L2+T1+L3+T2+.....+Ln+Tn-1=L1+L1+L2+L3+......+Ln-1
中L1出现了两次,且最终落地距离为Ln-1;
参考代码:
#include<stdio.h> void main() { int m,n; float S=0,T; scanf("%d%d",&m,&n); S=m; T=m/2; for(int i=1;i<n;i++) { S+=2*T; T=T/2.0; } printf("%.2f %.2f",T,S); }
0.0分
24 人评分
母牛的故事 (C语言代码)浏览:915 |
IP判断 (C语言代码)浏览:761 |
A+B for Input-Output Practice (V) (C语言代码)浏览:459 |
矩形面积交 (C++代码)浏览:1126 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:712 |
WU-程序员的表白 (C++代码)浏览:753 |
IP判断 (C语言代码)浏览:457 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:496 |
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:623 |
母牛的故事 (C语言代码)浏览:3058 |