【数学专题】约数个数与欧拉函数

本文详细介绍了约数个数的计算方法,包括利用算数基本定理得出的公式,并通过AcWing上的编程题目进行实例解析。此外,还探讨了欧拉函数,讲解了如何使用线性筛法筛欧拉函数,并给出了最大公约数问题的莫比乌斯反演解法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整理的算法模板合集: ACM模板


题目 算法
AcWing 1291. 轻拍牛头 求约数的个数
AcWing 1294. 樱花 ( n ! ) 2 (n!)^2 (n!)2的约数的个数
AcWing 198. 反素数 通过分析元素性质发现可以直接dfs

一、约数个数

本节前半部分需要用到的知识:

由算数基本定理得正整数N可以写作 N = p 1 C 1 × p 2 C 2 × p 3 C 3 ⋯ × p m C m N=p_1^{C_1}\times p_2^{C_2} \times p_3^{C_3} \cdots \times p_m^{C_m} N=p1C1×p2C2×p3C3×pmCm

N的正约数个数为( Π Π Π是连乘积的符号,类似 ∑ ∑ )

( c 1 + 1 ) × ( c 2 + 1 ) × ⋯ ( c m + 1 ) = Π i = 1 m ( c i + 1 ) (c_1+1)\times (c_2+1)\times \cdots (c_m+1)=\Pi_{i=1}^{m}(ci+1) (c1+1)×(c2+1)×(cm+1)=Πi=1m(ci+1)
N的所有正约数和为

( 1 + p 1 + p 1 2 + ⋯ + p 1 c 1 ) × ⋯ × ( 1 + p m + p m 2 + ⋯ + p m c m ) = ∏ i = 1 m ( ∑ j = 0 c i ( p i ) j ) (1+p_1+p_1^2+\cdots +p_1^{c_1})\times\cdots\times(1+p_m+p_m^2+\cdots +p_m^{c_m})=\prod_{i=1}^{m}(\sum_{j=0}^{c_i}(p_i)^j) (1+p1+p12++p1c1)××(1+pm+pm2++pmcm)=i=1m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

繁凡さん

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值