Calculation 2 欧拉函数的应用
/*题意是求和n不互质的数的总和。可用总和1-(n-1)减去互质的数的总和。课用欧拉函数求1-n的互质的数的个数num。则若a和n互质,n-a必定也和n互质(a<n)。也就是说num必定为偶数。其中互质的数成对存在。其和为n。则总和为num*n/2 */#include <stdio.h>int phi(long long n){ int rea=n; for(int i=2;i*i<=n;i++) if(n%i==0) { rea=rea-rea/i; do n/=i; while(n%i==0); } if(n>1) rea=rea-rea/n; return rea;}int main(){ long long n; while(scanf("%lld",&n)==1&&n) { long long sum=n*(n+1)/2-n; sum-=phi(n)*n/2; sum%=1000000007; printf("%lld\n",sum); } return 0;}