基准时间限制:1 秒 空间限制:131072 KB 分值: 0
难度:基础题
输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %)
例如:n = 10, P = 11,10! = 3628800
3628800 % 11 = 10
Input
两个数N,P,中间用空格隔开。(N < 10000, P < 10^9)
Output
输出N! mod P的结果。
Input示例
10 11
Output示例
10
题解:每次阶乘时将前面的乘积取余,并且将乘数取余。很简单的水题
代码如下:
#include<bits/stdc++.h>
using namespace std;
#define mian main
#define ture true
#define ll long long
ll make(ll a,ll b)
{
ll sum=1;
for(ll i=1;i<=a;i++)
{
sum=sum%b*i%b;
}
cout<<sum<<endl;
}
int main()
{
ll m,n;
cin>>m>>n;
make(m,n);
return 0;
}