Pagini recente » Cod sursa (job #925013) | Cod sursa (job #890873) | Cod sursa (job #2384260) | Cod sursa (job #2461526) | Cod sursa (job #2276410)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
long long nr;
int n;
bool prim[1000001];
long long fi(int x)
{
long long rez;
int i;
rez=x;
for(i=2;i*i<=x;i++)
{
if(x%i==0)
{
while(x%i==0)
{
x=x/i;
}
rez=(rez/i)*(i-1);
}
}
if(x!=1)
{
rez=(rez/x)*(x-1);
}
return rez;
}
int main()
{
int i,j;
f>>n;
nr=1;
for(i=2;i*i<=n;i++)
{
if(prim[i]==0)
{
for(j=2;j<=n/i;j++)
{
prim[i*j]=1;
}
}
}
for(i=2;i<=n;i++)
{
if(prim[i]==0)
{
nr=nr+2*(i-1);
}
else
{
nr=nr+2*fi(i);
}
}
g<<nr;
return 0;
}