Atcoder 2332 Training Camp

    xiaoxiao2021-04-13  27

    题目链接:http://abc055.contest.atcoder.jp/tasks/abc055_b?lang=en

    B - Training Camp


    Time limit : 2sec / Memory limit : 256MB

    Score : 200 points

    Problem Statement

    Snuke loves working out. He is now exercising N times.

    Before he starts exercising, his power is 1. After he exercises for the i-th time, his power gets multiplied by i.

    Find Snuke's power after he exercises N times. Since the answer can be extremely large, print the answer modulo 109+7.

    Constraints

    1N105

    Input

    The input is given from Standard Input in the following format:

    N

    Output

    Print the answer modulo 109+7.


    Sample Input 1

    Copy 3

    Sample Output 1

    Copy 6 After Snuke exercises for the first time, his power gets multiplied by 1 and becomes 1.After Snuke exercises for the second time, his power gets multiplied by 2 and becomes 2.After Snuke exercises for the third time, his power gets multiplied by 3 and becomes 6.

    Sample Input 2

    Copy 10

    Sample Output 2

    Copy 3628800

    Sample Input 3

    Copy 100000

    Sample Output 3

    Copy 457992974

    Print the answer modulo 109+7.


    Submit

    题意:求n!(9+7)

    解析:直接long long,求下n!,每次乘时%mod即可

    代码:

    #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<vector> #include<queue> #include<map> #include<cmath> #define N 1009 using namespace std; const int INF = 0x3f3f3f3f; typedef unsigned long long LL; const int mod = 1e9 + 7; int main() { LL ans = 1; int n; scanf("%d", &n); for(LL i = 1; i <= n; i++) ans = (ans % mod) * (i % mod) % mod; cout << ans << endl; return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-668854.html

    最新回复(0)