Pagini recente » Cod sursa (job #1382777) | Cod sursa (job #2138742) | Cod sursa (job #2617430) | Cod sursa (job #2830887) | Cod sursa (job #1889695)
#include <bits/stdc++.h>
using namespace std;
FILE *f,*g;
bool a[1000001];
int n,nr;
int cmmdc(int a, int b)
{
int r;
while(b>0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
void siev(int n)
{
a[1]=1;
for(int i=2;i<=n;i++)
if(a[i]==0)
for(int j=2;j*i<=n;j++)
a[i*j]=1;
}
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&n);
siev(n);
nr=n-1;
for(int i=2;i<n;i++)
{
if(!a[i])
{
for(int j=1+i;j<=n;j++)
if(j%i!=0)nr++;
}
else
{
for(int j=i+1;j<=n;j++)
if(!a[j]) nr++;
else
{
if(cmmdc(i,j)==1) nr++;
}
}
}
printf("%d",nr*2+1);
return 0;
}