10.1数论初步
1.欧几里得算法和唯一分解定理
2.Eratosthenes筛法
补充素数筛选
const int MAXN=1e6+10;
ll prime[MAXN];
void getPrime(int maxn)
{
memset(prime,0,sizeof(prime));
for(int i=2;i<=maxn;i++)
{
if(!prime[i])prime[++prime[0]]=i;
for(int j=i;j<=prime[0]&&prime[j]<=maxn/i;j++)
{
prime[prime[j]*i]=1;
if(i%prime[j]==0)break;
}
}
}
3.扩展欧几里得算法
设a,b,c为任意整数。若方程ax+by=c的一组整数解为(x0,y0),则它的任意整数解口可以写成(x0+kb’,y0-ka’),其中a’=a/gcd(a,b),b’=b/gcd(a,b),k取任意整数。
4.同余与模运算