Cod sursa(job #2707548)

Utilizator snkwtf112Razvan Boicu snkwtf112 Data 17 februarie 2021 12:15:15
Problema Fractii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

void eliminare(int vect[], int& l);
int cmmdc(int a, int b);

int main()
{
	int a, b, n, i, j;
	fstream f("fractii.in", ios::in);
	fstream g("fractii.out", ios::out);
	while (f >> n)
	{
		int ct = 0, lung=0, vec[1000];
		for (i = 1; i <= n; i++)
		{
			for (int j = 1; j <= n; j++)
				vec[++lung] = i / cmmdc(i, j) * 10 + j / cmmdc(i, j);
		}
		sort(vec, vec + lung);
		eliminare(vec, lung);
		for (int i = 1; i < lung; i++)
			if (vec[i])
				ct++;
		g <<ct<<endl;
	}
	return 0;
}

void eliminare(int vect[], int& l)
{
	for (int i = 0; i < l; i++)
		if (vect[i] == vect[i + 1])
			vect[i] = 0;
}

int cmmdc(int a, int b)
{
	int r;
	while (b) {
		r = a % b;
		a = b;
		b = r;
	}
	return a;
}