输入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
水题,基本循环,每一步都要mod,需要开long long int
#include<stdio.h>
int main()
{
long long int n,ans=1,mod,i,j;
scanf("%lld%lld",&n,&mod);
for(i=1;i<=n;i++)
ans=(ans*i%mod)%mod;
printf("%lld",ans);
return 0;
}

本文介绍了一种计算N! mod P的简单算法,其中P为质数。通过使用长整型变量并确保每次乘法操作后都进行模运算,可以有效避免数值溢出问题。该算法适用于N小于10000且P小于10^9的情况。
274

被折叠的 条评论
为什么被折叠?



