#include<iostream> using namespace std; __int64 a[21],b[21]; int main() { __int64 t,i,j; a[1]=0; a[2]=1;//1个时 措排的方法0种 2个位子时 1种及相互放 b[1]=1; b[2]=2;//全排列 for(i=3;i<=20;i++) { a[i]=(i-1)*(a[i-1]+a[i-2]);//递推公式记住 b[i]=i*b[i-1]; } cin>>t; while(t--) { cin>>i; printf("%.2lf",a[i]*100.0/b[i]); printf("%%/n"); } return 0; } a[i]=(i-1)*(a[i-1]+a[i-2]);