其他分享
首页 > 其他分享> > SDNUOJ——1272.SL的秘密

SDNUOJ——1272.SL的秘密

作者:互联网

Description

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

就是传说中的 " N !"
Input
每一行包含一个整数N(0 <= N<=10^9).
Output
对于每个数,输出 N! mod 2009
Sample Input

4
5

Sample Output

24
120

正常思路:大于2009的阶层后mod2009都是0。
dalao思路:2009 = 41*49, 所以,不小于41的阶层后都是0.

#include<stdio.h>
#include<iostream>
#include<map>
#include<algorithm>
#include<cstring>
#include<string.h>
#include<string>
#include<math.h>
#include<vector>
#include<map>
using namespace std;
typedef long long ll;
#define MAXN 100005
#define INF 0x3f3f3f3f//将近int类型最大数的一半,而且乘2不会爆int
#define MOD 2009

ll jie(ll n)        //2009 = 41*49
{
    ll cnt=1;
    for(ll i=1; i<=n; ++i)
        cnt = cnt*i%MOD;
    return cnt;
}

int main()
{
    int n;
    while(cin >> n)
    {
        if(n > 2009) puts("0");
        else cout << jie(n) << '\n';
    }
	return 0;
}

标签:2009,int,1272,41,SDNUOJ,SL,include,ll,define
来源: https://blog.csdn.net/weixin_43237242/article/details/90742669