Cod sursa(job #23921)

Utilizator SebbySebastian Sebby Data 1 martie 2007 17:04:14
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>
int cmmdc(int a,int b)
{long aux,r;
 if(a==1||b==1) return 1;
 if(a<b){aux=a;
	 a=b;
	 b=aux;}
 while(a%b!=0)
   {r=a%b;
    a=b;
    b=r;
   }
 return b;
}
int main()
{long n,i,j,p=1,cm,x,y,aux1,aux2; int b; FILE *f,*g;
 f=fopen("fractii.in","r");
 fscanf(f,"%ld",&n);
 fclose(f);
 f=fopen("fr.txt","w");
 fprintf(f,"%d %d ",1,1);
 fclose(f);
 for(i=1;i<=n;i++)
   for(j=1;j<=n;j++)
      if(i!=j) {b=1;
		cm=cmmdc(i,j);
		x=i/cm; y=j/cm;
		f=fopen("fr.txt","r");
		while(!feof(f)) {fscanf(f,"%ld %ld",&aux1,&aux2);
			      if(aux1==x&&aux2==y) {b=0; break;}
			     }
		fclose(f);
		if(b) {g=fopen("fr.txt","a+");
		       fprintf(g,"%ld %ld ",x,y); p++;
		       fclose(g); }
	       }
 f=fopen("fractii.out","w");
 fprintf(f,"%ld",p);
 fclose(f);
 return 0;
}