简单数论(知识点介绍+模板)

0.容斥原理:

容斥原理的具体如下:

区间中与i不互质的个数 = (区间中i的每个质因数的倍数个数)-(区间中i的每两个质因数乘积的倍数)+(区间中i的每3个质因数的成绩的倍数个数)-(区间中i的每4个质因数的乘积)+...

(通过图例解释)简单数论(知识点介绍+模板)_第1张图片

代码如下:

//利用深搜实现的方法
//p[q][i]为q的质因数
ll DFS(int x,int MAX,int q)   //求MAX内与q不互质的个数
{
	int i;
	ll res=0;
	for (i=x;i

.1欧拉函数

φ(n)(即欧拉函数)表示小于n的数里和n互质的数的个数,以下介绍两种求取方法:

感觉这个博主写的过程比较能简单理解一些:https://www.cnblogs.com/linyujun/p/5194170.html

ll Euler()//素数筛的方法,o(nlogn)吧(大概)
{
    for (int i=1;i<=n;i++)
        phi[i]=i;
    for (int i=2;i<=n;i++)
        for(int j=i+i;j<=N;j+=i)
            if(phi[i]==i)
                phi[i]=phi[i]*(n-1)/i;
}

                    

 

 

 

 

你可能感兴趣的:(数论)