Cod sursa(job #2883883)
Utilizator | Data | 1 aprilie 2022 22:19:31 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int n, i, j, vec[1000001];
int64_t cnt = 1;
int main(){
for(i = 1; i <= 1000000; i++) vec[i] = i;
for(i = 2; i <= 1000000; i++){
if(vec[i] == i){
vec[i]--;
for(j = 2; j * i <= 1000000; j++)
vec[i*j] = vec[i*j] / i * (i - 1);
}
}
fin >> n;
for(i = n; i >= 2; i--) cnt += 2* vec[i];
fout << cnt;
}