原题链接:[编程入门]自由下落的距离计算
解题思路:
反弹实例 假设起始从100米处下降,则 第一次,反弹高度为50,经过100米。 第二次,反弹高度为25,经过100+50+50=200米(下降100米+弹回50米+下落50米) 第三次,反弹高度为12.5,经过100+50+50+25+25=250米 (下降100米+弹回50米+下落50米+弹回25米+下落25米) 所以利用循环构建反弹模型,sum记和
注意事项:
核心代码,求路程和 while(n--){ sum+=m/2*3; //小球每次从下落到弹起一共的路程 m=m/2; } 最后实际路程=sum-m 因为最后一次并未弹起
参考代码:
#include"iostream" #include"cstdio" using namespace std; int main(){ int n; double m,sum=0; cin>>m>>n; while(n--){ sum+=m/2*3; m=m/2; } printf("%.2lf %.2lf\n",m,sum-m); return 0; }
0.0分
13 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复