Description
一个小球,从高为H的地方下落,下落弹地之后弹起高度为下落时的一半,比如第一次弹起高度为H/2,如此往复,计算小球从H 高度下落到第n 次落地往返的总路程。
Input
输入两个整数H和n。
Output
输出总路程,结果保留小数点后两位。
Sample Input 1
5 2
Sample Output 1
10.00
Thought
先了解题意,然后画图理思路,再整合公式,最后编辑代码。
-
题意:
本题为找规律及画图模拟题,主要考察C++语言循环和保留的熟悉程度,及思维拓展能力。
这道题告诉我们,一个小球从H高的地方掉下来n次,每次落地弹起是前一次的一半,问:小球共跳了多少的高度(注:这里指每一次跳起落下的总和) -
例图与思路:
-
得到公式:
(总跳跃长度)= (H) + (H/2+H/2) (注:跳n次循环n次) -
代码提示:
-
整理公式,结合C++,使用循环来使用公式;
-
记得保留两位小数;
-
最好使用double类型的变量;
-
可以一个中间变量存储要输出的数据
Reference answer