Cod sursa(job #1500034)
Utilizator | Data | 11 octombrie 2015 14:17:05 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <fstream>
using namespace std;
const int kMaxN = 1000005;
int N, ans = 1;
int cnt[kMaxN];
int main() {
ifstream("fractii.in") >> N;
for (int i = 2; i <= N; ++i)
cnt[i] = i - 1;
for (int i = 2; i <= N; ++i) {
ans += 2 * cnt[i];
for (int j = 2 * i; j <= N; j += i)
cnt[j] -= cnt[i];
}
ofstream("fractii.out") << ans << "\n";
return 0;
}