Cod sursa(job #1024036)

Utilizator alabala1vali smerica alabala1 Data 8 noiembrie 2013 01:25:40
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 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[1000000];
	std::ifstream f("fractii.in");
	std::ofstream g("fractii.out");
	f >> n;
	f.close();
	for (i = 4; i <= n; i++)a[i] = 0;
	for (i = 2; i < n; i++)
	{
		
		for (unsigned k = i*2; k <= n; a[k += i] = 1); 
		for (unsigned j = i + 2; j <= n; j++)
			nr += 2 * (!a[j] && cmmdc(i, j));
		for (unsigned k = i*2; k <= n; a[k += i] = 0);
	}
	g << nr - 1+ (n-1) * 4;
	g.close();
}