c语言的一个小问题。 。,

img

#include <stdio.h>
int main()
{
    int M,N,i=1;
    float s = 0;
    float a;
    scanf("%d %d",&M,&N);
    a = M;
    while(i <=N)
    {
        s += 2*a;//弹起和落下,但是第一次没有弹起,所以后面要减去多加的M
        a/=2;
        i++;
    }
    s -= M; //减去第一次的高度
    printf("%.6f",s);
    return 0;
}