Cod sursa(job #1158816)

Utilizator raduraraduIacob Radu raduraradu Data 29 martie 2014 09:20:43
Problema Fractii Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
#include <math.h>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int main()
{
   long long  n,i,j,nr,phi,r=0;
   f>>n;
   r=1;
   for(i=2;i<=n;i++)
   {
       nr=i;
       phi=nr;
       if(nr%2==0)
        phi=phi/2;
       while(nr%2==0)
        nr/=2;
       for(j=3;j<=sqrt(nr);j+=2)
       {if(nr%j==0)
       phi=(phi*(j-1))/j;
       while(nr%j==0)
        nr/=j;
       }
       if(nr>1)
        phi=(phi*(nr-1))/nr;
       r+=2*phi;
   }
   g<<r;
}