首页 > 代码库 > 哈尔滨理工大学第六届程序设计团队 H-Permutation

哈尔滨理工大学第六届程序设计团队 H-Permutation

/*数学是硬伤。。。。。。推了半小时推出来一个错误的公式*/#include <iostream>#include <stdio.h>#include <algorithm>#include <string.h>#define mod 1000000007using namespace std;int n,t;/*推出来的错误公式。。。。。。。f[n]=f[n-1]+(n-1)*(f[n-1]-1);*/long long a[2000500];int main(){    //freopen("C:\\Users\\acer\\Desktop\\in.txt","r",stdin);    //freopen("C:\\Users\\acer\\Desktop\\out.doc","w",stdout);    a[0]=1;    a[1]=1;    for(int i=2;i<=2000000;i++)    {        a[i]=i*a[i-1]+(i-1)*a[i-2];        a[i]%=mod;    }        scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        printf("%lld\n",a[n-1]);    }    return 0;}

 

哈尔滨理工大学第六届程序设计团队 H-Permutation