Pagini recente » Cod sursa (job #533931) | Cod sursa (job #1934450) | Cod sursa (job #680745) | Cod sursa (job #698614) | Cod sursa (job #222989)
Cod sursa(job #222989)
#include<fstream.h>
#include<math.h>
int main()
{
long i,n,x,d,y,l,rad,j,nr;
long long a[1000000];
ifstream f("fractii.in");
ofstream g("fractii.out");
f>>n;
a[1]=1;
for(i=2;i<=n;i++)
{
d=2;
x=i;
l=1;
rad=sqrt(x);
while (d<=rad && x%d>=1) d++;
if (d>rad) a[i]=i-1;
else {
y=x;
while (y%d==0)
{
y/=d;
l=l*d;
}
l=l/d;
a[x]=a[y]*(d-1)*l;
}
for (i=2;i<=n;i++)
nr=nr+2*a[i];
}
g<<nr;
f.close();
g.close();
return 0;
}