Cod sursa(job #192080)

Utilizator FedoraSulphurGrosan Flavia FedoraSulphur Data 30 mai 2008 17:57:43
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
long v[1000000],n;

long tot(long x)
{  long nr_tot=x; 
   for(long i=1;i<=x/2;i++)
      if(v[i]==0 && x%i==0)
         nr_tot=nr_tot*(i-1)/i;
   return nr_tot;
}

int main()
{
    FILE*f=fopen("fractii.in","r");
    FILE*g=fopen("fractii.out","w");
    long n,i,j,nr;
    fscanf(f,"%ld",&n);
	for(i=1;i<=n;i++)
		v[i]=0;
	v[1]=1;
	long k=1;
	do
	{
		long m = k+1;
		for(i=1;i<=n;i++)
			if(v[i]==0 && i%m==0 && i/m!=1)
				v[i]=1;
		k=m;
	}
	while(k <= n/2);
	nr=0;
	for(i=2;i<=n;i++)
	   nr=nr+tot(i);
    nr=nr*2+1;
    fprintf(g,"%ld",nr);
    fclose(f);
    fclose(g);
    return 0;
}