Cod sursa(job #199932)

Utilizator Ramona2007Furtuna Ramona Cristina Ramona2007 Data 21 iulie 2008 13:18:27
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
#include<math.h>

   long long  p, i, j, l, n, a, k, suma;

  long long prim(long long a)
  { for(l=2;l*l<=a;l++)
     if(a%l==0)
       return 0;

   return 1;
  }

 long long phi(long long nr)
 { p=1;
   if(prim(nr)==1)
     return nr-1;


    for(j=2;j*2<=nr;j++)
    { k=0;
     if(prim(j)==1 && nr%j==0)
      { long long aux=nr;
        while(aux%j==0)
         {  k++; aux=aux/j; }
        
       p=p*(j-1)*pow(j, k-1);
      }
    }

   return p;
 }


 int main()
{
freopen("fractii.in", "r", stdin);
freopen("fractii.out", "w", stdout);


scanf("%lld", &n);

for(i=2;i<=n;i++)
 suma=suma+phi(i);

printf("%lld \n", 2*suma+1);



return 0;
}