hdu2048

来源:互联网 发布:txt转azw3软件 编辑:程序博客网 时间:2024/04/30 20:11
//错排思想:令a[n] 表示 n 个编号都不对应自己的位置有a[n]种方法;//假设编号n放在编号k的位置上,有n-1种方法,若编号k放在n的位置上//则有a[n-1]种,若不放在n的位置 则有a[n-1]种,因为把n的位置看成是//k的位置 就好理解啦#include<stdio.h>int main(){    __int64 a[25];    a[1] = 0;    a[2] = 1;    for(int i = 3; i <= 20; i++)    {        a[i] = (i-1)*(a[i-1]+a[i-2]);    }    int t, n;    scanf("%d", &t);    while(t--)    {        scanf("%d", &n);        __int64 sum = 1;        for(int i = 1; i <= n; i++)        {            sum *= i;        }        double m = a[n]*100.0/(sum*1.0);        printf("%.2lf%%\n", m);    }}

原创粉丝点击