欧拉函数:https://blog.csdn.net/sentimental_dog/article/details/52002608(素数幂=素数的幂次方)
数分解因数:https://blog.csdn.net/lianai911/article/details/44598155(打表+公式+素数幂)
首先分解素因数,得到一个分解公式;
然后搞清楚有几种不同的素因数,每种素因数出现了几次,把每种素因数出现的次数+1,相乘就是所以因数的个数了:
如125=5*5*5,只有一种素因数5,5出现了3次,那么所有因素=3+1=4个
再如360=2*2*2*3*3*5,有三种素因数2/3/5,每种素因数分别出现了3次、2次、1次,所以共有因素为(3+1)*(2+1)*(1+1)=24个;
所以通用公式是这样的,有素因数n种,分别为X1,X2,X3...Xn,每种素因数分别出现了a1,a2,a3...an次,那么所有的因素=(a1+1)*(a2+1)*(a3+1)*.*(an+1);
上面举得两个例子分别是n为1和3的情况.
欧几里得算法:https://blog.csdn.net/u014675538/article/details/68941742
应用:http://www.cnblogs.com/ACShiryu/archive/2011/08/07/poj2773.html
懵逼钨丝反演:https://blog.csdn.net/coder__yang/article/details/77447022
白努力数:
卢卡斯定理:https://blog.csdn.net/liangzhaoyang1/article/details/52132986?locationNum=7
https://blog.csdn.net/qq_40679299/article/details/80489761
约数个数定理:一个正整数n按素因子分解:n=p1^a1*p2^a2*....*pk^ak,那么n的约数的个数为(a1+1)(a2+1)...(ak+1);
快速求N!某个质因子x的个数:cnt(x)=[n/(x^1)]+[n/(x^2)]+[n/(x^3)]+...(直到x的次方大于n(即N))