题目描述
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数
输入
M N
输出
它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行
样例输入
1000 5
样例输出
31.25 2875.00
解析
- 经过的距离是不带上最后一次的反弹距离的。
- 注意:结果是浮点数要保留两位小数,浮点数限制小数主要是通过iomanip库的fixed函数和setprecision函数。
注意:两个数相除要得到浮点数,需要两个浮点数来计算得到;
参考代码
#include<iostream>
#include<iomanip>
using namespace std ;
int main()
{
int n;
float s,c,a,m;
cin>>m>>n;
s=-m;
for(int i=0;i<n;i++)
{
a=m*0.5;
s+=m*2;
m=a;
}
c=m;
cout<<fixed<<setprecision(2)<<c<<" "<<s<<endl;
return 0 ;
}
运行结果
- 如有问题,请评论出来!