Pagini recente » Cod sursa (job #1518178) | Cod sursa (job #1052843) | Cod sursa (job #1136059) | Cod sursa (job #37074) | Cod sursa (job #219802)
Cod sursa(job #219802)
#include <stdio.h>
#include <math.h>
const int N = 1000001;
int n,nr,i,j,k,prim [N];
bool gasit,np [N];
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&n);
for (i=2;i<=sqrt(n);i++)
if(!np[i])
for (k=i*i;k<=n;k=k+i)
np [k] = true;
k = 0; //Pozitia de scriere.
for (i = 2; i<=n; i++)
{
if (!np[i])
{
k++;
prim [k] = i;
}
}
for (i = 2; i <= (n-1); i++)
for (j = i + 1; j <= n; j++)
{
gasit = false;
if (j%i!=0)
{
for (k=1;prim[k]<=(j/2);k++)
if ((i%prim[k]==0) && (j%prim[k]==0))
{
gasit = true;
break;
}
}
else gasit = true;
if (!gasit)
nr++;
}
nr = nr * 2 + n * 2 - 1;
printf("%d",nr);
return 0;
}