Cod sursa(job #24231)

Utilizator SebbySebastian Sebby Data 1 martie 2007 22:25:58
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
#include <math.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; FILE *f;
 f=fopen("fractii.in","r");
 fscanf(f,"%ld",&n);
 fclose(f);
 if(n%2==0) p=n+n/2;
  else p=n+n/2+1;
 for(i=3;i<=n;i++)
   if(i%2==0) {p++;
	       for(j=3;j<=n;j+=2)
		 if(i!=j)
		       if(cmmdc(i,j)==1) p++;}
    else
     for(j=1;j<=n;j++)
      if(i!=j)
	if(i%2==0&&j%2==0) continue;
	else if(cmmdc(i,j)==1) p++;

 f=fopen("fractii.out","w");
 fprintf(f,"%ld",p);
 fclose(f);
 return 0;
}