Cod sursa(job #357178)

Utilizator alexmpopescuPopescu Alexandru alexmpopescu Data 18 octombrie 2009 12:33:23
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
using namespace std;
int fi,fo,n,p,q,fcount;

int cmmdc (int,int);

int main () 
{
	//citim n
	fstream fi("fractii.in",ios::in);
	fi>>n;
	fi.close();
	
	//verificam toate fractiile posibile
	for (p=1; p<=n; p++)
		for (q=1; q<=n; q++)
			if (cmmdc(p,q)==0) fcount++; //daca sunt ireductibile - vezi func. cmmdc
	
	fstream fo("fractii.out",ios::out);
	fo<<fcount;
	fo.close();
	return 0;
}

/* functia cmmdc returneaza cel mai mare divizor comun a 2 numere
sau 0 daca numerele sunt prime intre ele */ 
int cmmdc (int a,int b)
{
	int i,minim,gasit;
	gasit=0; //initializam var. 'gasit' cu 0 (fiind var. locala, ea nu este init.)
	if (a>b) minim=b;
	else minim=a;
	i=2;
	while (i<=minim) {
		if ((a%i)==0 && (b%i)==0) gasit=i;
		i++;}
	return gasit;
}