年会抽奖

 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 }
原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/8511324.html