Cod sursa(job #222993)

Utilizator andrici_cezarAndrici Cezar andrici_cezar Data 26 noiembrie 2008 16:29:12
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<fstream.h>      
#include<math.h>      
int main()      
{      
long i,n,x,d,y,l,rad,j,nr;      
long long a[1000001];      
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;      
    }