游客 Signup | Login
中文 | En

1423 - C语言-弹球

一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数

Input

M N

Output

它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行

Examples

Input

1000 5

Output

31.25 2875.00

Solution C

int main(int argc, char* argv[])
{ 
	double m,n,sum,i;
	while(~scanf("%lf%lf",&m,&n))
	{
		sum=m;
	  for(i=0;i<n;i++)
	  {   
		  sum+=m;
		  m*=1.0/2;
	  }
	  sum-=2*m;
	 printf("%.2lf %.2lf\n",m,sum);
	}
	return 0;
}

Solution C++

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
	double n,sum;
	int m;
	cin>>n>>m;
	sum=-n;
	for (int i=1; i<=m; i++)
	{
		sum+=2*n;
		n/=2;
	}
	printf("%.2lf %.2lf\n",n,sum);
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题