Pagini recente » Cod sursa (job #1049662) | Cod sursa (job #2716178) | Cod sursa (job #856002) | Atasamentele paginii Clasament lotales_ruperes_round16 | Cod sursa (job #2674410)
#include <bits/stdc++.h>
using namespace std;
int v[1001];
/*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);
long long j,i,n;
long long sum=0;
scanf("%lld",&n);
for (i=2; i<=n; i++)v[i] = i-1;
for (i=2; i<=n; i++)
{
sum += v[i];
for (j=i*2; j<=n; j+=i)
v[j] -= v[i];
}
printf("%llu",2*sum+1);
return 0;
}