题目大意 求 ∑n−1i=1lcm(i,n) (n<= 109 ) 有t组询问(t<=50000) 欧拉函数 ∑n−1i=1lcm(i,n) =n∗∑d|n∑[n−1d]i=1[gcd(i,nd)=1]∗i =n+n∗∑d|n(d≠n)φ(nd)∗nd2 =n+n2∗∑d|n(d≠1)φ(d)∗d 去掉欧拉函数 n=ΠTi=1p[i]k[i] p[i]表示互异的素数。 ∑d|Nφ(d)∗d = ΠTi=1∑k[i]j=0φ(p[i]j)∗p[i]j = ΠTi=11+∑k[i]j=1φ(p[i]j)∗p[i]j = ΠTi=11+∑k[i]j=1p[i]j−1∗(p[i]−1)∗p[i]j = ΠTi=11+(p[i]−1)∗∑k[i]j=1p[i]2∗j−1 = ΠTi=11+(p[i]−1)∗p[i]2∗k[i]+1−p[i]p[i]2−1 = ΠTi=11+p[i]2∗k[i]+1−p[i]p[i]+1 然后是快速分解就好了。