输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %)
例如:n = 10, P = 11,10! = 3628800
3628800 % 11 = 10
收起
输入
两个数N,P,中间用空格隔开。(N < 10000, P < 10^9)
输出
输出N! mod P的结果。
输入样例
10 11
输出样例
10
这个是wa版本,因为没有long long
#include<iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
int ans=1;
for(int i=1;i<=a;i++)
{
ans=ans%b*(i%b);
}
ans%=b;
cout<<ans;
return 0;
}
这个改成long long就过了
#include<iostream>
using namespace std;
int main()
{
long long a,b;
cin>>a>>b;
long long ans=1;
for(int i=1;i<=a;i++)
{
ans=ans%b*(i%b);
}
ans%=b;
cout<<ans;
return 0;
}
但显然,这个更为简洁
#include<iostream>
using namespace std;
int main()
{
long long a,b;
cin>>a>>b;
long long ans=1;
for(int i=1;i<=a;i++)
{
ans=ans*i%b;
}
cout<<ans;
return 0;
}