Pagini recente » Rating Rchiteanu Mihai Sebastian (Sebastiannr) | Cod sursa (job #1557376) | Cod sursa (job #1598843) | Cod sursa (job #3162189) | Cod sursa (job #1289504)
#include <stdio.h>
#define NMax 1000010
const char IN[] = "fractii.in", OUT[] = "fractii.out";
int N;
int v[NMax];
void ciur() {
static bool b[NMax];
for ( int i = 1; i <= N; ++ i ) v[i] = i;
for ( int i = 2; i <= N; ++ i ) if ( ! b[i] ) {
v[i] = i - 1;
for ( int j = 2 * i; j <= N; j += i ) {
b[j] = true;
v[j] = v[j] / i * ( i - 1 );
}
}
}
int main() {
freopen(IN, "r", stdin);
freopen(OUT, "w", stdout);
scanf("%d", &N);
ciur();
int rez = 0;
for ( int i = 2; i <= N; ++ i )
rez += v[i];
printf("%d\n", 2 * rez + 1);
return 0;
}