Pagini recente » Cod sursa (job #2107881) | Cod sursa (job #2361081) | Cod sursa (job #2979699) | Cod sursa (job #499252) | Cod sursa (job #512638)
Cod sursa(job #512638)
#include<fstream.h>
long long a[1000001],nr;
int n,i;
long long putere(long long d, long long x)
{
long long nr=1;
while (x%d==0)
{
nr*=d;
x/=d;
}
return nr;
}
long long fi(long long x)
{
long long d=2, p=1, aux=x;
if (x%2==0) p=putere(2, x);
else
{
d=3;
while (p==1 && d*d<=x)
if (x%d==0) p=putere(d, x);
else d+=2;
if (d*d>x) {d=x;p=x;}
}
return p/d*(d-1)*a[aux/p];
}
int main()
{
ifstream f("fractii.in");
ofstream g("fractii.out");
f>>n;
a[1]=1;
for (i=2; i<=n; ++i)
a[i]=fi(i);
nr=1;
for (i=2; i<=n; ++i) nr+=2*a[i];
g<<nr<<"\n";
f.close();
g.close();
}