对于20%的数据,满足:n<=100;
对于40%的数据,满足:n<=10^5;
对于60%的数据,满足:n<=10^7;
对于100%的数据,满足:n<=10^10。
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
long long a,b,d,ans;
long long fai(long long);
int main()
{
freopen("beats.in","r",stdin);
freopen("beats.out","w",stdout);
scanf("%lld",&a);
for (b=1;b<=trunc(sqrt(a));b++)
{
if (a%b==0)
{
d=b;
ans=ans+d*fai(a/d);
if (d!=a/d)
{
d=a/b;
ans=ans+d*fai(a/d);
}
}
}
ans++;
printf("%lld",ans);
return 0;
}
long long fai(long long x)
{
int i;
long long t;
t=x;
i=2;
while (x>1)
{
if (x%i==0)
{
t=(t-t/i);
while (x%i==0)
{
x=x/i;
}
}
i++;
}
return t;
}