Pagini recente » Cod sursa (job #2246232) | Cod sursa (job #143798) | Cod sursa (job #3137069) | Cod sursa (job #2007927) | Cod sursa (job #1051372)
#include <cstdio>
using namespace std;
int n, s, q, i, j, auxi, auxj, p, k, w[100000];
bool v[1000005];
void ciur()
{
w[++q]=2;
for(i=3;i*i<=1000100;i=i+2)
if(v[i]==0)
{
w[++q]=i;
for(j=i*i;j<=1000100;j=j+i)
v[j]=1;
}
}
int main()
{
freopen("fractii.in", "r", stdin);
freopen("fractii.out", "w", stdout);
scanf("%d", &n);
s=1+(n-1)*2;
ciur();
for(i=3;i<=n;i++)
{
if(v[i]==0&&i%2==1) s=s+2*i-4;
else
{
if(i%2==1) s=s+2;
for(j=i-1;j>=3;j--)
{
if(v[j]==1&&j%2==1) s=s+2;
else
{
auxi=i;
auxj=j;
p=1;
k=0;
while(w[k]<=i)
{
k++;
while(auxi%w[k]==0&&auxj%w[k]==0)
{
p=p*w[k];
auxi=auxi/w[k];
auxj=auxj/w[k];
}
}
if(p==1) s=s+2;
}
}
}
}
printf("%d", s);
return 0;
}