洛谷P2303 [SDOi2012]Longge的问题
标签
- 欧拉函数
前言
- 做了这题,就对欧拉函数可能产生更深的理解
简明题意
- 求 : ∑ i = 1 n g c d ( i , n ) 求:\sum_{i=1}^ngcd(i, n) 求:i=1∑ngcd(i,n)
- n < = 2 e 32 n<=2e32 n<=2e32
思路
- 如果题目要你求
∑ i = 1 n [ g c d ( i , n ) = = 1 ] \sum_{i=1}^n[gcd(i, n)==1] i=1∑n[gcd(i,n)==1]
是不是就很简单呢?上面的式子就是在问你,[1,n]中,有多少个数与n互质,就是裸的欧拉函数求一下就行。 - 但是现在,需要求和。怎么办呢?考虑一下贡献法。对于一个数 d ∈ [ 1 , n ] d\in [1,n] d∈[1,n],它会出现几次?显然它出现的次数是 ∑ i = 1 n [ g c d ( i , n ) = = d ] \sum_{i=1}^n[gcd(i,n)==d] ∑