Cod sursa(job #307190)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 23 aprilie 2009 17:33:37
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<stdio.h>
#include<math.h>
FILE *f=fopen("fractii.in.txt","r"),
     *g=fopen("fractii.out.txt","w");
int n,i,j,fi,nr,k,i1,nr1,fis,fij;
int main()
{ fscanf(f,"%d",&n);
  nr=3;
  for(i=3;i<=n;i++) {
                     fi=i;
                     i1=i;
                     if(i1%2==0) { fi/=2;
                                   while(i1%2==0) i1/=2;
                                 }
                     k=sqrt(i1);
                     fis=1;
                     fij=1;
                     for(j=3;j<=k;j=j+2) { if(i1%j==0) fis*=(j-1),fij*=j;
                                           while(i1%j==0) i1/=j;
                                         }
                     fi*=fis;
                     fi/=fij;
                     if(i1!=1) { fi*=(i1-1);
                                 fi/=i1;
                               }
                     nr1+=fi;

                   }
  nr1=nr1*2;
  nr=nr+nr1;
  fprintf(g,"%d\n",nr);
  fclose(f);
  fclose(g);
  return 0;
}