自由下落的距离计算

题目描述

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

运行结果

  • 如有问题,请评论出来!
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容