A、求导

题目描述

牛牛今天学习了求导,对函数 f(x) 求导记作 f(x)'

已知 ,同理可得

其次 ,其中 a 是个常数。

求 n - 1 次导后 x 前的系数。( 比如求 2 次导时,有 f(x)''=(f(x)')'。)

输入描述:

给出一个数 n

输出描述:

输出求  求 n - 1 次导后 x 前的系数。(答案对  取余)
示例1

输入

复制
5

输出

复制
120

备注:

对于  的数据满足 

对于 的数据满足

解题思路

比较简单,n阶导数应该是个学了高数上的人就会的吧,如果不会。。那就一阶一阶带进去求,最后发现n - 1阶导数就是图片说明
本来想打表,看看能不能快一点,不过这个题目告诉我,1e5的数据规模,在O(N)内……只花了3MS。。

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=43629907

Code

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
inline ll read(){
    ll s = 0, w = 1; char ch = getchar();
    while (ch < 48 || ch > 57) { if (ch == '-') w = -1; ch = getchar(); }
    while (ch >= 48 && ch <= 57) s = (s << 1) + (s << 3) + (ch ^ 48), ch = getchar();
    return s * w;
}
const int MOD = 1e9+7;

int main(){
    ll n=read();
    if(n==0){
        puts("0");
        return 0;
    }
    ll ans=1;
    for(int i=2;i<=n;++i)
        (ans*=i)%=MOD;
    printf("%lld\n",ans);
    return 0;
}