Cod sursa(job #1108793)
| Utilizator | Data | 16 februarie 2014 13:23:40 | |
|---|---|---|---|
| Problema | Fractii | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include<iostream>
#include<fstream>
using namespace std;
const int Nmax = 1000001;
long long A[Nmax];
int main() {
ifstream f("fractii.in");
ofstream g("fractii.out");
long N;
long long nr = 1;
f >> N;
for ( int i = 2; i <= N; i ++ ) {
A[i] = i - 1;
}
for ( int i = 2; i <= N; i ++ ) {
nr += 2LL * A[i];
for ( int j = 2 * i; j <= N; j += i ) {
A[j] -= A[i];
}
}
g << nr;
f.close();
g.close();
return 0;
}
