題目描述
一球從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 ;
}
運行結果
- 如有問題,請評論出來!