Cod sursa(job #1168987)

Utilizator scorpionmkBancila Petru Armand scorpionmk Data 10 aprilie 2014 01:07:03
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream in("fractii.in");
ofstream out("fractii.out");

int p[1000000],q[1000000],n,a,b,a_temp,b_temp,k=0;

int cmmdc(int x, int y)
{
    int cmmdc=1,s=2;
    while (!(s>x||s>y)){
        if (s<=x&&s<=y&&x%s==0&&y%s==0) cmmdc=s;
        ++s;}return cmmdc;
}

int validare()
{    if ((a_temp%b_temp==0)&&a_temp!=1) return 0;
     int simplificare=cmmdc(a_temp,b_temp);

     a_temp/=simplificare; b_temp/=simplificare;

     for(int i=0; i<1000000;i++)
        {if ((p[i]==a_temp)&&(q[i]==b_temp))  return 0;}

     p[k]=a_temp; q[k]=b_temp;
     ++k;
     return 1;
}

int main(){
    int nr=0;
    in>>n;
	//for(int i=0; i<1999;i++){p[i]=0;q[i]=0;}
    for (a=1;a<=n;a++)
    {
        for (b=1;b<=n;b++)
		{b_temp=b; a_temp=a;
		nr+=validare();
        }
    }
    out<<nr+n-1;
}