自由下落的距離計算

題目描述

一球從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 ;
}

運行結果

  • 如有問題,請評論出來!
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容