Cod sursa(job #281630)

Utilizator ioana_yanyioana pavel ioana_yany Data 15 martie 2009 15:37:12
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.42 kb
#include <fstream.h>
long n,x=1,i;

void cit()
{ifstream f("fractii.in"); f>>n; f.close();}

void afis()
{ofstream g("fractii.out");
 g<<x<<'\n'; g.close();}

long f(long n)
{long d=2,p=1;
 while(d*d<=n)
  {if(n%d==0)
    {n/=d; p*=(d-1);
     while(n%d==0) {p*=d; n/=d;}
    }
   d++;
  }
 if(n>1) p*=(n-1);
 return p;
}

int main()
{cit();
 for(i=2;i<=n;i++) x+=2*f(i);
 afis();
 return 0;
}