简单数论

欧拉函数: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))   

感谢:https://www.cnblogs.com/Slager-Z/p/7780382.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值