1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 using namespace std; 5 //错排问题,直接用公式 6 //(n-1)*(f(n-1) + f(n-2)) 7 8 double f(int n){ 9 if (n == 1) 10 return 0; 11 if (n == 2) 12 return 1; 13 return (n - 1)*(f(n - 1) + f(n - 2)); 14 } 15 16 double f2(int n){ 17 if (n == 1) 18 return 1; 19 return n*f2(n - 1); 20 } 21 22 int main(){ 23 int n; 24 while (~scanf("%d",&n)){ 25 double ans = f(n); 26 double ans1 = f2(n); 27 ans = ans / ans1; 28 ans *= 100; 29 printf("%.2lf\% ", ans); 30 } 31 //system("pause"); 32 return 0; 33 }