1085:球弹跳高度的计算
作者:互联网
【题目描述】
一球从某一高度h落下(单位米),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高?
输出包含两行,第1行:到球第10次落地时,一共经过的米数。第2行:第10次弹跳的高度。
【输入】
输入一个整数h,表示球的初始高度。
【输出】
第1行:到球第10次落地时,一共经过的米数。
第2行:第10次弹跳的高度。
注意:结果可能是实数,结果用double类型保存。
提示:输出时不需要对精度特殊控制,用cout << ANSWER,或者printf("%g",ANSWER)即可。
【输入样例】
20
【输出样例】
59.9219
0.0195312
题目分析:
本题可以根据球的运动顺序去写程序,先从高度为h的地方落下,这个时候记录落下高度,然后再去计算弹起高度,为原来的一半,h = h/2,然后再去记录弹起高度。
这是一次落下+弹起的记录,总共循环10次,这时我们就记录了10次落弹的总距离,最后一次h表示最后弹起的距离,我们用总距离-h,则可以获得我们需要的结果。
#include<iostream>
#include<cstdio>
using namespace std;
int main() {
double h,s=0;
cin>>h;
int a=0;
while(a<10){
a++;
s+=h;//记录落下高度
h=h/2;
s+=h;//记录弹起高度
}
cout<<s-h<<"\n"<<h;
return 0;
}
标签:10,1085,落地,高度,弹起,弹跳,落下 来源: https://www.cnblogs.com/zhouxing-bmw/p/15644205.html