Cod sursa(job #13596)

Utilizator sigridMaria Stanciu sigrid Data 7 februarie 2007 10:38:53
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#pragma option -3 -a -Z -O2 -r
#include<fstream.h>
#include<math.h>
unsigned long n;
int nrprime(unsigned long x,unsigned long y)
{unsigned long r;
 do
  {r=x%y;
   x=y;
   y=r;
  }
 while(r);
 if(x==1) return 1;
   else return 0;
}
int nrprim(int x)
{if(x==2) return 1;
   else if(x%2==0) return 0;
      else {unsigned long jum,i;
	    jum=sqrt(x);
	    for(i=3;i<=jum;i=i+2)
	      {if(x%i==0) return 0;}
           }
return 1;
}
int main()
{unsigned long i,j,c=0,ii;
 ifstream f("fractii.in");
 ofstream g("fractii.out");
 f>>n;
 //cout<<"n="; cin>>n;
 f.close();
 c=2*n-1;
// nn=n-1;
 for(i=2;i<=n;i++)
  {if(nrprim(i)) c=c+(i-2)*2;
   else
   {ii=i-1;
    for(j=2;j<=ii;j++)
     if(nrprime(i,j)) c=c+2;
   }
  }
 //cout<<c<<'\n';
 g<<c<<'\n';
 g.close();
return 0;
}