1. 程式人生 > >BZOJ2705:[SDOI2012]Longge的問題——題解

BZOJ2705:[SDOI2012]Longge的問題——題解

scrip 需要 esc mda www. 難度 edi gpo com

http://www.lydsy.com/JudgeOnline/problem.php?id=2705

Description

Longge的數學成績非常好,並且他非常樂於挑戰高難度的數學問題。現在問題來了:給定一個整數N,你需要求出∑gcd(i, N)(1<=i <=N)。

Input

一個整數,為N。

Output

一個整數,為所求的答案。

Sample Input

6

Sample Output

15

————————————————————————————————————————————

http://hzwer.com/3470.html的博客已經講的蠻清楚了,這裏在復述一遍。

gcd(i,n)的值顯然是n的約數,這裏取k=gcd(i,n),滿足該關系式的i的個數為s(k)。

則答案為k*s(k)(k|n)

又因為k=gcd(i,n)推出gcd(n/k,i/k)=1,設t=i/k,則n/k與t互質,求出t的個數。

這顯然可以用歐拉函數解決,那麽s(k)=phi(n/k)

BZOJ2705:[SDOI2012]Longge的問題——題解