标签:
Description
Input
Output
Sample Input
Sample Output
#include <stdio.h>
#include<math.h>
#include <string.h>
long long phi(long long n)
{
long long res=n;
for(int i=2; i*i<=n; i++)
{
if(n%i==0)
{
res=res-res/i;
do
n/=i;
while(n%i==0);
}
}
if(n>1)
res=res-res/n;
return res;
}
int main()
{
long long n,ans;
while(scanf("%I64d",&n) != EOF)
{
if(n==0)
break;
ans=n*(n+1)/2-n;
ans-=phi(n)*n/2;
ans=ans%1000000007;
printf("%I64d\n",ans);
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/PLifer/p/5452573.html