Cod sursa(job #314506)

Utilizator andreioneaAndrei Onea andreionea Data 11 mai 2009 22:58:28
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<cstdio>
#include<cstdlib>
#include<cstring>
int *marcat;
int n;
int main()
{int i,j;
 FILE*f=fopen("fractii.in","r");
 fscanf(f,"%d",&n);
 fclose(f);
 marcat=(int*)malloc((n+1)*sizeof(int));
 for(i=1;i<=n;++i) marcat[i]=1;
 long long sum=1;
 int p,k;
 for(i=2;i<=n;++i)
  {if(marcat[i]!=1) sum+=2*marcat[i];
   else 
   {sum+=2*(i-1);
     p=1;
     for(k=1;k<i;++k)
     for(j=i;j*k<=n;j*=i)
       marcat[j*k]*=(i-1)*j/i;
    } 
  }
  FILE *g=fopen("fractii.out","w");
  fprintf(g,"%lld",sum);
 return 0;
}