Pagini recente » Cod sursa (job #113484) | Cod sursa (job #1256284) | Cod sursa (job #449564) | Cod sursa (job #209416) | Cod sursa (job #2456670)
#include<fstream>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
long long k;
long long euler(long long x)
{
long long d,cx=x;
for(d=2; d*d<=x; d+=d%2+1)
{
if(x%d==0)
{
cx/=d;
cx*=d-1;
while(x%d==0)
x/=d;
}
}
if(x>1)
{
cx/=x;
cx*=x-1;
}
return cx;
}
long long solve(long long x)
{
long long i,s=0;
if(x<=100000)
{
for(i=1; i<=x; i++)
s+=euler(i);
s*=2;
s-=1;
}
else
{
s=6079301508;
for(i=100001; i<=x; i++)
s+=2*euler(i);
s-=1;
}
return s;
}
int main()
{
fin>>k;
fout<<solve(k);
}