杭电ACM2048题

杭电ACM2048题_第1张图片

#include
int main ()
{
    long long s[21], sum;
    int i, n, m;
    scanf("%d",&n);
    while (n--)
    {
        scanf("%d",&m);
        s[0] = 0;
        s[1] = 0;
        s[2] = 1;
        s[3] = 2;
        sum = 2;
        for (i = 3; i<=m; i++)
        {
            s[i] = (i-1)*(s[i-1]+s[i-2]);
            sum = sum*i;
        }
        printf("%.2f%%\n",s[m]*100.0/sum);
    }
    return 0;
}

你可能感兴趣的:(ACM)