如果不会线性筛素数的话,建议先看这篇博客了解一下线性筛素数。
记 f ( n ) = ∑ i = 1 n gcd ( i , n ) f(n)=\sum_{i=1}^{n}\gcd(i,n) f(n)=∑i=1ngcd(i,n)
容易证明 f ( n ) f(n) f(n)一定是积性函数
即 f ( p 1 t 1 p 2 t 2 ⋯ p k t k ) = f ( p 1 t 1 ) f ( p 2 t 2 ) ⋯ f ( p k t k ) f(p_1^{t_1} p_2^{t_2}\cdots p_k^{t_k}) =f(p_1^{t_1} )f(p_2^{t_2} ) \cdots f(p_k^{t_k} ) f(p1t1p2t2⋯pktk)=f(p1t1)f(p2t2)⋯f(pktk)
又因为
f ( n ) = ∑ i = 1 n gcd ( i , n ) = ∑ d