Pagini recente » Cod sursa (job #2033852) | Cod sursa (job #694520) | Cod sursa (job #2024443) | Cod sursa (job #2205596) | Cod sursa (job #1520365)
#include <bits/stdc++.h>
using namespace std;
int n, m, pr[100500], l[100500];
bool viz[1005050];
void primes(int N) {
N += 1000;
for(int i = 2; i <= N; i ++)
if(!viz[i]) {
m ++;
pr[m] = i;
int lim = N / i;
for(int j = 2; j <= lim; j ++)
viz[i * j] = true;
}
}
int main()
{
freopen("fractii.in", "r", stdin);
freopen("fractii.out", "w", stdout);
cin >> n;
primes(n);
long long ret = 0;
for(int i = 1; i <= n; i ++) {
long long j = 1, aux = i, s = i;
while(pr[j] <= aux) {
if(aux % pr[j] == 0) {
while(aux % pr[j] == 0)
aux /= pr[j];
s -= s / pr[j];
}
j ++;
}
ret += s;
}
cout << (ret << 1) - 1 << "\n";
return 0;
}