Cod sursa(job #1333)

Utilizator undogSavu Victor Gabriel undog Data 13 decembrie 2006 13:02:40
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>

int ggt(long m, long n){

if(m%2==0&&n%2==0)
return 2;

if(n>m){
long aux=m;
m=n;
n=aux;
}

long r;

while(m%n!=0){
r=m%n;
m=n;
n=r;
}
if(n==1) return 1;
return 2;
}



int main()
{
FILE *in,*out;
long n,p,q,i=0;
in=fopen("fractii.in","rt");
out=fopen("fractii.out","w+");
fscanf(in,"%ld",&n);
i=2*n-1;
for(p=2;p<=n;p++){
 if(p%2==1){
  for(q=2;q<=n;q++){
   if(ggt(p,q)==1)
    i=i+1;
  }
 }
 else{
  for(q=3;q<=n;q=q+2){
   if(ggt(p,q)==1)
    i=i+1;
  }
 }
}

fprintf(out,"%ld",i);

}