题目描述
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地时反弹多高?共经过多少米?保留两位小数
输入
M N
输出
它在第N次落地时反弹多高?共经过多少米?保留两位小数,空格隔开,放在一行
样例输入
1000 5
样例输出
31.25 2875.00
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李晓凯
* 完成日期:2015年 4 月 17 日
* 版 本 号:v1.0
*
* 问题描述:如上所述
* 输入描述:输入一个数N代表小球从N米落下,另一个数m代表第m次落地
* 程序输出:输出第m次落地是反弹的高度和总共走了多少米
*/
代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n;
double m,sum;
cin>>m>>n;
sum=m;
for(int i=0;i<n;++i)
{
m/=2;
sum+=m*2;
}
cout<<setiosflags(ios::fixed)<<setprecision(2)<<m<<" "<<sum-2*m<<endl;
return 0;
}
随心之语:OJ虽小,练习巩固则大!