1. 程式人生 > >求1到n中與n互質的和(數論)解釋及證明

求1到n中與n互質的和(數論)解釋及證明

給出一個N,求1…N中與N互質的數的和

sigma (i=1…n) i*[gcd(i,n)==1]

反證法:gcd(n,i)=1

如果存在K!=1使gcd(n,n-i)=k,那麼(n-i)%k==0且n%k=0

那麼必須保證i%k=0。

i%k == 0 && n%k==0 那麼gcd(n,i)=k,與已知條件矛盾,所以不成立。

得到結論gcd(n,i)=1 則gcd(n,n-i)=1

於是問題變的非常簡單: ANS=N*phi(N)/2i,n-i總是成對出現,並且和是n

那如果n-i=i會不會重複計算呢?

分類討論

1.如果n是奇數,那麼n!=2*i,自然也不存在 n-i=i和重複計算之說

2.如果n是偶數,n=2*i成立,gcd(n,n/2)必然為n的一個因子,這個因子為1當且僅當n==2

於是對於n>2的偶數,gcd(n,n/2)=n/2

對於n==2 ans=2*1/2=1,正好也滿足

所以得到最終公式: ans=N*phi(N)/2

作者:clover_hxy
來源:CSDN
原文:https://blog.csdn.net/clover_hxy/article/details/53152358
版權宣告:本文為博主原創文章,轉載請附上博文連結!