引理:
若 gcd(n,i)=1 则 gcd(n,n-i)=1 (1<=i<=n)
证明:用反证法
如果存在k!=1使gcd(n,n-i)=k,那么(n-i)%k=0,n%k=0
那么必须保证i%k=0
k是n的因子,如果i%k=0,那么 gcd(n,i)=k,与原命题矛盾。
那么,由于i,n-i总是成对出现,并且和是n,那么 ans=n∗φ(n)/2
于是可能就有人问了,如果存在n-i=i那不是重复计算?答案是不会
因为:n=2*i->i=n/2
1.如果n是奇数,那么n!=2*i,自然也不存在 n-i=i和重复计算之说
2.于是对于n>2的偶数,绝对不存在gcd(n,n/2)=1所以更别说什么重复计算了
3.如果n是偶数,n=2*i成立,gcd(n,n/2)必然为n的一个因子,这个因子为1当且仅当n=2
对于n=2,ans=2*1/2=1,正好也满足
最终得出结论: ∑i=1n[(i,n)=1]i