Pagini recente » Cod sursa (job #2585971) | Cod sursa (job #2920632) | Cod sursa (job #1694965) | Cod sursa (job #3219395) | Cod sursa (job #349141)
Cod sursa(job #349141)
#include <stdio.h>
#include <math.h>
FILE *f=fopen("fractii.in", "r"), *g=fopen("fractii.out", "w");
long n, i, j, x=1, h, z, v[100000];
bool t[1000003], sw;
void citeste(void)
{
fscanf(f, "%ld", &n);
}
void rezolva(void)
{
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
if(i==j)
continue;
sw=0;
for (h=1;h<=z&&v[h]<=j;h++)
if (i%v[h]==0&&j%v[h]==0)
{
sw=1;
break;
}
if (!sw)
x++;
}
}
void ciuruieste(void)
{
for (i=3;i<=sqrt(n);i+=2)
for (j=2;j<=n/i;j++)
t[i*j]=1;
}
void aranjeaza(void)
{
z=3;
v[1]=2;
v[2]=3;
for (i=3;i<=n;i+=2)
if (!t[i])
v[z++]=i;
z--;
}
void tipareste(void)
{
fprintf (g, "%ld", x);
}
int main(void)
{
citeste();
ciuruieste();
aranjeaza();
rezolva();
tipareste();
return 0;
}