Pagini recente » C.C. | Cod sursa (job #2294828) | Cod sursa (job #180858) | C.C. | Cod sursa (job #306594)
Cod sursa(job #306594)
#include <fstream.h>
#include <math.h>
#define min(a,b) a>b?a:b
ifstream f ("fractii.in");
ofstream g ("fractii.out");
long v[1000001],nr_ciur=1,n;
void citire ()
{ f>>n;
f.close ();
}
void ciur (long n)
{ long aux=sqrt(n),i,j;
v[1]=2;
for (i=3; i<=aux; i+=2)
{ if (v[i]==0)
{ v[++nr_ciur]=i;
for (j=3*i; j<=n; j+=i<<1)
v[j]=1;
}
}
for (; i<=n; i+=2)
if (v[i]==0)
v[++nr_ciur]=i;
v[0]=1; v[nr_ciur+1]=1; //da eroare verif daca nu fac asa
}
int verif (long i, long j)
{ for (long x=1; x<=nr_ciur && (x<=min(i,j)); x++)
if (i%v[x]==0 && j%v[x]==0) return 0;
return 1;
}
long nr_fractii (long n)
{ long fractii=0;
for (long i=1; i<=n; i++)
for (long j=1; j<=n; j++)
if (verif(i,j)) fractii++;
return fractii;
}
int main ()
{ citire ();
ciur (n);
g<<nr_fractii (n);
g.close ();
return 0;
}