Cod sursa(job #107908)

Utilizator MariusGeantaMarius Geanta MariusGeanta Data 20 noiembrie 2007 21:11:34
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.42 kb
#include<fstream.h>
void main()
{       unsigned long n,phi,d,k,x,f;
	ifstream fin("fractii.in");
	fin>>n;
	fin.close();
	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;
	}
	ofstream fout("fractii.out");
	fout<<2*f+1;
	fout.close();
}