题目描述
小赛和三个小朋友一起玩小球,他们是一种新玩法。他们站在楼房的不同层,假设小赛站的楼层距离地面N米,球从小赛手里自由落下,每次落地后反跳回原高度的一半;再落下,再反跳回原高度的一半。小赛和三个小朋友站在不同的楼层,同时放下手中的小球,当小球全部落到地面不跳时,求4个小球一共经过了多少米?(数字都为整数)
输入输入4个数字,分别表示四个小球距离地面的高度。所有输入的数字都为整数,范围不能超过整数所能表示的最大值。
| 样例输入100 90 80 70 |
输出输出为四个小球经过的总长度。
| 样例输出996
|
时间限制C/C++语言:1000MS其它语言:3000MS | 内存限制C/C++语言:65536KB其它语言:589824KB |
#include <iostream>
using namespace std;
int main()
{
int a[4], sum=0;
while (cin >> a[0] >> a[1] >> a[2] >> a[3])
{
sum += (a[0] + a[1] + a[2] + a[3]);
for (int i = 0; i < 4; ++i)
{
while (a[i])
{
a[i] /= 2;
sum += (a[i] * 2);
}
}
cout << sum << endl;
}
return 0;
}