Cod sursa(job #1024026)

Utilizator alabala1vali smerica alabala1 Data 8 noiembrie 2013 00:52:11
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
bool cmmdc(unsigned i, unsigned j)
{
	if (!i)return j == 1;
	if (!j)return i == 1;
	return cmmdc(j, i%j);
}
int main()
{
	unsigned n, i, nr = 0, *a;
	std::ifstream f("fractii.in");
    std::ofstream g("fractii.out");
    f >> n;
	a = new unsigned[n + 1];
    f.close();
	for (i = 4; i <= n; i++)a[i] = 0; 
	for (i = 2; i < n; i++)
	{
		nr += 2;
		for (unsigned k = 2 * i; k <= n; a[k += i] = 1);
		for (unsigned j = i + 2; j <= n; j++)
			if(!a[j] && cmmdc(i, j))nr+=2;
		for (unsigned k = 2 * i; k <= n; a[k += i] = 0);
	}
	g << 2 * n + nr - 1;
	g.close();
}