Cod sursa(job #396083)

Utilizator crushackPopescu Silviu crushack Data 14 februarie 2010 14:45:37
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
using namespace std;

int main()
{
	int n,nr,i,j,e,ax,d;
	bool a[1000001]={1};
	double c;
	fstream f,g;
	f.open("fractii.in",fstream::in);
	g.open("fractii.out",fstream::out);
	f>>n;
	nr=n;
	for (i=2;i<=n;i++)
	{
		if (!a[i])
		{
			e=(int)((i-1)*((float)n/i) +0.5);
			for (j=2*i;j<=n;j++)
				a[j]=true;
		}
		else
		{
			ax=i;d=2;c=i;
			while (ax!=1)
			{
				if(!(ax%d))
				{
					c=c*(1-1.0/d);
					while (!(ax%d))
						ax/=d;
				}
				d++;
			}
			e=(int)(c*((float)n/i) +0.5);
		}
		nr+=e;
	}
	g<<nr;
	g.close();
	return 0;
}