目錄
萬能頭文件
#include<bits/stdc++.h>
解決c++輸入輸出超時
ios::sync_with_stdio(false);
快速冪
ll PowerMod(ll a,ll b,ll Mod)
{
ll ans = 1;
while(b>0)
{
if(b&1)
ans=(ans*a)%Mod;
b>>=1;
a=(a*a)%Mod;
}
return ans;
}
素數篩
最後那句issu[su[j]*i]=0 是讓目前所有素數列裏的素數的第i倍全都不是素數。(不是圖上說的)
int issu[100010];
//0 不是 1是
int cnt=0;
void jgsushu()
{
memset(issu,1,sizeof(issu));
issu[0]=0;
issu[1]=0;
cnt=1;
for(int i=2;i<maxn;i++)
{
if(issu[i])
su[cnt++]=i;
for(int j=1;j<cnt&&su[j]*i<maxn;j++)
{
issu[su[j]*i]=0;
}
}
}
普通判斷素數
公約數 gcd
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}