Pagini recente » Cod sursa (job #2754939) | Cod sursa (job #2364136) | Cod sursa (job #3217150) | Cod sursa (job #176629) | Cod sursa (job #372493)
Cod sursa(job #372493)
# include <fstream>
using namespace std;
int n, p[1000002];
ofstream fout ("fractii.out");
void erat (int n)
{
int i, j;
p[1]=0;
p[2]=0;
for (i=3;i<=n;i++)
{
if (i%2==0)
p[i]-=i/2-1;
else
p[i]=i;
}
for (j=3;j<=n;j+=1)
if (p[j]>1)
{
p[j]=0;
for (i=2;i*j<=n;i++)
if (p[i*j]>1) p[i*j]=-1;
else if (p[i*j]<0) p[i*j]-=i-1;
}
else
for (i=2;i*j<=n;i++)
p[i*j]-=i-1;
}
int calcul (int n)
{
int a=1, i, r=1;
for (i=2;i<=n;i++)
{
r=a+2*(i-1+p[i]);
a=r;
}
return r;
}
int main ()
{
ifstream fin ("fractii.in");
fin>>n;
erat (n);
fout<<calcul (n);
return 0;
}