Pagini recente » Cod sursa (job #2504509) | Cod sursa (job #1810874) | Cod sursa (job #2067007) | Cod sursa (job #1948289) | Cod sursa (job #2379314)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
long long int n,i,s,d,p,j,v[1005],prime[1005],l,x;
int main()
{
fin>>n;
v[1]=0;
for(i=2; i<=1000; i++)
if(v[i]==0)
{
prime[++l]=i;
for(j=i+i; j<=1000; j=j+i)
v[j]=1;
}
s=1;
for(i=2; i<=n; i++)
{
p=i;
x=i;
for(j=1;j<=l;j++)
if(prime[j]*prime[j]<=x)
{
if(x%prime[j]==0)
p=(p*(prime[j]-1))/prime[j];
while(x%prime[j]==0)
x=x/prime[j];
}
else
break;
if(x>1)
p=(p*(x-1))/x;
s=s+p*2;
}
fout<<s;
}