Cod sursa(job #1161932)

Utilizator AlexieDariciuc Alexie Alexie Data 31 martie 2014 15:39:24
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<iostream>
#include<fstream>
using namespace std;
int n,p=2,V[20],numar=1;
int valid(int k);
void BK(int k);
int cmmdc(int a,int b);
ifstream in("fractii.in");
ofstream out("fractii.out");
int main()
{
	in>>n;
	BK(1);
	out<<numar;
}
void BK(int k)
{
	int i;
	for(i=1;i<=n;i++)
	{
		V[k]=i;
		if(valid(k))
			if(k==p)			
			numar=numar+1;
		else
			BK(k+1);
	}
}
int valid(int k)
{
	int i;
	for(i=1;i<=k-1;i++)
		if(V[i]==V[k] || cmmdc(V[i],V[k])!=1)
			return 0;
		return 1;
}
int cmmdc(int a,int b)
{
	while(a!=b)
	{
		if(a>b)
			a=a-b;
		else
			b=b-a;
	}
	return a;
}