P1964夜夜的NOIP之旅
背景
有些人出题十分的不靠谱
说好的NOIP难度呢?
说好的NOIP普及组难度呢?
说好的NOIP普及组-的难度呢?
怎么冒出了动态树啊!
怎么冒出了网络流啊!
怎么冒出了微积分啊!
夜夜很伤心=_=
描述
现在,有一套NOIP难度有
N
个题,其中第
i
个题的难度是
1×2×3×⋯×i
(也可以写作
i!
)。
我们称一套题的难度为
N
个题的难度总和。
那么给定
N
,求这套题的难度。
然而,总有些人不想写高精度(比如出题人),是出题人良心的要你算出对
M
取模后的值就好了。
格式
输入格式
一行,两个数,N和M
输出格式
一行,你要输出的答案
限制
对于20%的数据,N,M<=10
对于50%的数据,N,M<=1000000
对于100%的数据,N<=1000000000000000000,M<=1000000
每一个测试点时限1秒。
解题思路:
对于n>m的情况后面的都是零。
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define LL long long
using namespace std;
int main()
{
LL n,m;
LL s=1,t=0;
scanf("%lld%lld",&n,&m);
if(n>m)
{
n=m;
}
for(long long int i=1;i<=n;i++)
{
s=(s*i)%m;
t=(t+s)%m;
}
printf("%lld\n",t%m);
return 0;
}