牛客IOI周赛16-普及组-求导
求导
http://www.nowcoder.com/questionTerminal/7adb246544fb44f09e8758fc0566d54a
关于这道题目,我们可以分三种情况讨论:
 当- n处于第一种情况时,我们直接输出0就可以了(似乎题目没有给出n是否小于等于0的限制)。
 当- n处于处于第二种情况时,- 1 - 1 = 0,我们直接输出- 1就可以了。
 当- n处于第三种情况时,我们就要进行推导了,这玩意其实就是个阶乘
 只要- n大于等于2,从- 2开始求导一直求导到- n,求导- n-1次,那么最后一次求导所乘的都是- 2。
 所以代码很容易就能写出来啦。
#include <iostream>
#include <cstdio>
using namespace std;
const long long mod = 1000000007;
int main(){
    long long n;
    cin >> n;
    if(n <= 0) cout << 0 << endl;
    if(n == 1) cout << 1 << endl;
    long long sum = 1;
    for(int i = 2; i <= n; i++){
        sum = (sum % mod * i) % mod;
    }
    cout << sum % mod << endl;
    return 0;
} 

 vivo公司福利 364人发布
vivo公司福利 364人发布