Cod sursa(job #553693)

Utilizator tvararuVararu Theodor tvararu Data 14 martie 2011 11:35:50
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <vector>
#include <set>
using namespace std;
int N;
vector< pair<int,int> > fractii;

int IsValid (int x, int y)
{
	if (!y) return x;
	return IsValid (y, x%y);
}

void GenereazaFractii (int index)
{
	if (index > N)
	{
		return;
	}
	else
	{
		int Q = 1;
		fractii.push_back(make_pair(index, Q));
		while (Q < N)
		{
			Q++;
			int gcd = IsValid(index, Q);
			if (gcd == 1)
				fractii.push_back(make_pair(index, Q));
		}
		GenereazaFractii (index + 1);
	}
}

int main ()
{
	ifstream in ("fractii.in");
	in >> N;
	in.close();
	
	GenereazaFractii(1);
	
	ofstream out ("fractii.out");
	out << fractii.size();
	out.close();
	
	return 0;
}