Cod sursa(job #107911)

Utilizator MariusGeantaMarius Geanta MariusGeanta Data 20 noiembrie 2007 21:18:48
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<stdio.h>
int main()
{       unsigned long n,phi,d,k,x,f;
	FILE *fin=fopen("fractii.in","r");
	fscanf(fin,"%d",&n);
	fclose(fin);
	f=0;
	for (x=2;x<=n;x++)
	{	phi=k=x;
		d=2;
		while (k>1 && d*d<=k)
			if (k%d==0)
			{ phi=phi*(d-1)/d;
			  do
			  { k/=d; }
			  while (k%d==0);
			}
			else d+=1+k%2;
		if (k==1) f+=phi;
		else f+=phi*(k-1)/k;
	}
	FILE  *fout=fopen("fractii.out","w");
	fprintf(fout,"%d\n",2*f+1);
	fclose(fout);
	return 0;
}