Cod sursa(job #2453102)

Utilizator cristi1990anCornea Cristian cristi1990an Data 2 septembrie 2019 14:44:22
Problema Fractii Scor 10
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

unsigned int cmmdc(unsigned int a, unsigned int b)
{
	if ((a == 1) || (b == 1))
		return 1;

	if (a == b)
		return 0;

	if (a > b)
		return cmmdc(a - b, b);
	else
		return cmmdc(a, b - a);
}

int bk(int v[2], int N, int j, int poz)
{
	int sum = 0;
	for (int i = j; i <= N; i++)
	{
		v[poz] = i;
		if (poz == 1)
		{
			if (cmmdc(v[0], v[1]))
				sum++;
		}
		else
			sum=sum+bk(v, N, i, 1);
	}
	return sum;
}

int main()
{
	FILE* f = fopen("fractii.in", "rt");
	int N, v[2];

	fscanf(f, "%d", &N);

	f = fopen("fractii.out", "wt");

	fprintf(f, "%d\n", 2*bk(v, N, 1, 0) -1);
	fflush(stdout);
	fclose(f);
	return 0;
}