题目描述
蒜头君让一个球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第 10 次落地时,共经过多少米?第 10 次反弹多高?
输入格式
输入一个整数 h (1≤h≤100),表示球的初始高度。
输出格式
输出包含两行:
第 1 行:到球第 10 次落地时,一共经过的米数。
第 2 行:第 10 次弹跳的高度。
注意:结果可能是实数,结果用double类型保存。
提示:输出时不需要对精度特殊控制,用cout << ANSWER,或者printf("%g", ANSWER)即可。
Sample Input
18
Sample Output
53.9297
0.0175781
思路
反弹高度是下落高度的一半,因此反弹高度可以由下落高度求出;一共经过的路程可以累加得到。
C++代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
double h;
while(cin >> h)
{
double sum = h;
int n = 9;
while(n--)
{
sum += h;
h /= 2;
}
cout << sum << endl << h / 2.0 << endl;
}
return 0;
}
没有C语言基础的同学们,可以先学习一下C语言语法,我会整理好,后面发出来
我已经写好了,可以去C语言程序设计专栏看第一周的内容。