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; }