Cod sursa(job #107938)

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