Cod sursa(job #1108797)
| Utilizator | Data | 16 februarie 2014 13:29:29 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.44 kb |
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
const int Nmax = 1000001;
int A[Nmax], N;
long long nr = 1;
int main() {
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;
}
