Cod sursa(job #758912)

Utilizator vaneacsuVlad Neacsu vaneacsu Data 16 iunie 2012 14:12:28
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
using namespace std;
int cmmdc(int a, int b)
{
	int x;
	if (a<b)
	{
		x=a;
		a=b;
		b=x;
	}
	while (b != 0)
	{
		a = a%b;
		x=a;
		a=b;
		b=x;
	}
	return (a);
}
bool ciur[2000005];
int fi(int n)
{
	int d;
	d=n;
	for (int a=2; a<=n; a++)
	{
		if (ciur[a]==0)
		{
			for(int b=2*a; b<=n; b=b+a)
			{
				ciur[b]=1;
			}
		}
	}
	for (int c=2; c<=n; c++)
	{
		if ((ciur[c]==0) && (n%c==0))
			d = d * (1.0-1.0/(double)c);
	}
	return (d);
}
int main()
{
	ifstream fin("fractii.in");
	ofstream fout("fractii.out");
	int g, p;
	fin>>g;
	p=0;
	for (int l=1; l<=g; l++)
	{
		p = p + fi (l);
	}
	p = (p-1)*2+1;
	fout<<p;
	return 0;
}