Pagini recente » Cod sursa (job #1360280) | Istoria paginii runda/46/clasament | Cod sursa (job #1416837) | Cod sursa (job #2682171) | Cod sursa (job #2673736)
#include <bits/stdc++.h>
using namespace std;
unsigned long long euler(int n)
{
unsigned long long p,a,copie,i;
p=n;
copie=n;
if(n%2==0)
{
p=p/2;
while(n%2==0) n=n/2;
}
for(i=3; i*i<=n; i+=2)
{
if(n%i==0)
{
p=p/i;
p*=(i-1);
while(n%i==0) n=n/i;
}
}
if(n>1)
{
p=p/n;
p*=(n-1);
}
return p;
}
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
unsigned long long i,n;
unsigned long long sum=0;
scanf("%llu",&n);
for(i=2; i<=n; i++)
{
sum+=euler(i);
}
sum=sum*2;
sum++;
printf("%llu",sum);
return 0;
}