Time Limit: 3 second
Memory Limit: 2 MB
【问题描述】
小球从某高处自由落下,着地后又弹回高度的一半再落下。求第20次着地时, 小球共通过多少路程?【输入】
一行,小球自由落下时所处的高度。
【输出】
一行,小球共通过的路程数。
【输出格式知识点】
当输出项是实型数时,如果希望输出的实数不用科学记数法形式输出而用小数形式输出,可以用指定双场宽方法输出,双场宽只适用于实型数的输出。
双场宽输出格式为:write(实型数:m:n),其中m和n都是自然数,m用于指定整个数据所占的宽度,n用于指定输出小数的位数。
如果双场宽指定中m小于n+2,则m无效,按保留n位小数的最少位数输出。
如果对总宽度没有要求而只要求小数的保留位数,往往把m设成0。
【输入样例】
100【输出样例】
300
【题解】
稍微想想就知道的题。模拟一下就好。
【代码】
#include <cstdio> double init_high,ans = 0; void input_data() //读入初始的高度 { scanf("%lf",&init_high); } void get_ans() { ans += init_high; //先加一个初始高度,掉一次了 for (int i = 1;i <= 19;i++) //再碰19次。 { init_high /= 2; //高度变为原来的一半 ans += (init_high*2); } } void output_ans() { printf("%.lf",ans); } int main() { input_data(); get_ans(); output_ans(); return 0; }