hdu 2048 神、上帝以及老天爷

经典错排问题,算出n个人的排列可能,即求n!。
在本题中设定所有人即n个人全部拍错,即求n错排。
要求:求出其全部错排发生的概率
n错排 / n! * 100 以小数形式输出即可。
#include<stdio.h>
int main(void)
{
int i,n,c;
double a[21],b[21];
a[0]=a[1]=1;a[2]=2;
b[0]=b[1]=0;b[2]=1;
for(i=3;i<21;i++)
{
a[i]=a[i-1]*i;
b[i]=(b[i-1]+b[i-2])*(i-1);
}
scanf("%d",&n);
while(n--)
{
scanf("%d",&c);
printf("%.2f%%\n",b[c]/a[c]*100);
}
return 0;
}

浙公网安备 33010602011771号