题目描述
一个小球,从高为H的地方下落,下落弹地之后弹起高度为下落时的一半,比如第一次弹起高度为H/2,如此往复,计算从小球H 高度下落到第n 次弹地往返的总路程。
输入
输入第一行为样例数m,接下来m行每行两个整数H和n,n不超过5。
输出
输出m行,表示所求总路程,结果保留小数点后两位。
样例输入
1
5 2
样例输出
10.00
#include<stdio.h>
int main()
{
int m;
scanf("%d",&m);
while(m--)
{
int i;
double h,n;
double s=0;
scanf("%lf %lf",&h,&n);
if(n==1)
{
s=h;
}
else
{
s=h;
for(i=2;i<=n;i++)
{
s=s+h;
h=h/2;
}
}
printf("%.2f\n",s);
}
return 0;
}