【杭电】[2048]神、上帝以及老天爷

文章字数:145

问题描述

神、上帝以及老天爷

问题分析

错排问题
也就是
a[i]=(i-1)*(a[i-1]+a[i-2])

这里涉及到阶乘
也不想换数据类型了
所以由规律知加了一个判断

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<stdio.h>
int j(int m) {
    if(m==1)
        return 1;
    else
        return m*j(m-1);
}
int main() {
    int a[15]= {0,0,1};
    for(int i=3; i<13; i++) {
        a[i]=(i-1)*(a[i-1]+a[i-2]);
    }
    int T;
    scanf("%d",&T);
    while(T--) {
        int n;
        scanf("%d",&n);
        if(n<13)
            printf("%.2lf%%\n",a[n]*100.0/j(n));
        else
            printf("36.79%%\n");
    }
    return 0;
}

题目地址:【杭电】[2048]神、上帝以及老天爷

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

加载中...