1235: 弹地小球

题目描述
一个小球,从高为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;
}

猜你喜欢

转载自blog.csdn.net/qq_36326548/article/details/81541762