Cod sursa(job #107914)

Utilizator MariusGeantaMarius Geanta MariusGeanta Data 20 noiembrie 2007 21:25:13
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<stdio.h>
int main()
{       unsigned int n,phi,d,k,x,f;
	FILE *fin=fopen("fractii.in","r");
	fscanf(fin,"%u",&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,"%u",2*f+1);
	fclose(fout);
	return 0;
}