1272.SL的秘密 SDNUOJ 1272

Description
据说今天是男神SL的生日,但是他很低调,轻轻地送了一道大水题…

就是传说中的 " N !"

Input
每一行包含一个整数N(0 <= N<=10^9).
Output
对于每个数,输出 N! mod 2009
Sample Input
4
5
Sample Output
24
120

2009 = 41 * 7 * 7
当 n >= 41 时,阶乘是2009的倍数,对其取模 = 0;

#include <iostream>
using namespace std;

int fac(int n)
{
    int ans = 1;
    while(n)
    {
        ans = ans * n % 2009;///这里不能写成 ans *= n % 2009
        n--;
    }
    return ans;
}

int main()
{
    int n;
    while(cin >> n)
    {
        if(n < 41)
            cout << fac(n) << '\n';
        else
            cout << '0' << '\n';
    }
    return 0;
}

全部评论

相关推荐

oppo 应用软开 22*15+0.5*12
拿到了ssp完美:真的坎坷,但是你至少拿到这么多offer了!
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务