这道题的关键是种类数很大,数组要用longlong
#include<stdio.h>
int main()
{
_int64 a[21][2]={{0,0},{1,0},{2,1}};
int i,j,C,sum;
for(i=3;i<21;i++)
{
a[i][0]=i*a[i-1][0];
a[i][1]=(i-1)*(a[i-1][1]+a[i-2][1]);
}
scanf("%d",&C);
for(i=0;i<C;i++)
{
scanf("%d",&j);
printf("%0.2f%%\n",a[j][1]*100.0/a[j][0]);
}
return 0;
}