题解 1019: [编程入门]自由下落的距离计算

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

[编程入门]自由下落的距离计算-题解(C语言代码)

其实这题有个很简单的技巧,直接通过举例就可以发现,如果假设m为8米,n为两次,反弹一次之后,上升高度为4米,反弹第二次时,下落4米,同时上升两米。以此类推,可以自己尝试更多的方式。最后可以发现,最后一次弹起的高度是之前的一半,比较容易理解,直接使用for语句,

[编程入门]自由下落的距离计算

解题思路:画个图,可以发现小球下落是一个折线图(为了方便观察,给小球一个水平不衰减的初速度),我们令M为小球下落的高度,a为反弹之后的高度,思路是每次反弹的高度为之前的1/2,但是又不想动最开始的高度,所以把M赋值给a,每次对a做计算即可。从第零次一直到第n次,

自由下落的距离计算

解题思路:小球第一次下落后返回的高度为初始高度的1/2,第二次为初始高度的1/4,不难发现每增加一次,高度减小为初始高度的1/2^i(i为下落次数,初始高度的i设为0)即i从0开始进行for循环遍历。先求2的i次方,值得注意的是,这里引入pow函数实现,