Cod sursa(job #2637027)

Utilizator ILikeitN Stef ILikeit Data 20 iulie 2020 22:31:05
Problema Fractii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.21 kb
int cmmdc(int a, int b)
{
	if(a < b)
	{
		int temp = 0;
		temp = a;
		a = b;
		b = temp;
	}

	if(b == 0 || a==b)
		return a;
	else
		return cmmdc(b, a%b);
}

class Fractie
{
private:
	int numarator = 0;
	int numitor = 1;
public:
	Fractie(int _numarator, int _numitor) {numarator = _numarator; numitor = _numitor;}
	~Fractie() {}

	bool esteIreductibila()
	{
		if(cmmdc(numarator, numitor) == 1)
			return true;
		return false;
	}
};

#pragma region libs and more
#include <fstream>

typedef unsigned int natural;
typedef double real;
typedef int intreg;

using namespace std;
#pragma endregion libs and more

/***************/

#pragma region vars
ifstream fin("fractii.in");
ofstream fout("fractii.out");

natural numar;
#pragma endregion vars

/***************/

#pragma region functii
natural rezolva()
{
	natural ans = 0;
	numar = numar+1;
	for(int i = 1; i < numar; i++)
	{
		for(int j = 1; j < numar; j++)
		{
			Fractie fr = {i, j};
			if(fr.esteIreductibila() == true)
				ans++;
		}
	}

	return ans;
}
#pragma endregion functii


#include <iostream>
int main(int argc, char *argv[], char* env[])
{
	fin >> numar;
	fout << rezolva();

	return 0;
}