Pagini recente » Cod sursa (job #1725898) | Cod sursa (job #1684396) | Cod sursa (job #2238137) | Cod sursa (job #2448044) | Cod sursa (job #1356040)
#include <fstream>
#include <cstdio>
#define Nmax 1000000
using namespace std;
ofstream g("fractii.out");
long n,i,j,nr,p[100005],nrp,ciur[1000006];
long nrdiv(long x)
{
long nr=0,i=1,nrd=1;
if (ciur[x]==0)
return 0;
while (x>1)
{
nr=0;
while (x%p[i]==0)
{
x/=p[i];
nr++;
}
nrd*=(nr+1);
i++;
}
return nrd-2;
}
int main()
{
freopen("fractii.in","r",stdin);
scanf("%ld",&n);
ciur[0]=ciur[1]=1;
for (i=2;i*i<=Nmax;i++)
if (ciur[i]==0)
for (j=i*i;j<=Nmax;j+=i)
ciur[j]=1;
for (i=2;i<=Nmax;i++)
if (ciur[i]==0)
{
nrp++;
p[nrp]=i;
}
nr+=n;
for (i=2;i<=n;i++)
nr+=n*(i-1-nrdiv(i))/i;
g<<nr;
g.close();
return 0;
}