Cod sursa(job #1169916)
Utilizator | Data | 12 aprilie 2014 13:08:19 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
#include <vector>
#include <numeric>
#include <utility>
#include <iostream>
using std::cout;
using std::ifstream;
using std::ofstream;
using std::accumulate;
using std::vector;
int main(){
ifstream f("fractii.in" );
ofstream g("fractii.out");
int N = 0;
f>>N;
vector<int> phi(N+1,0);
for(int i = 1;i<=N;i++){
phi[i] = i;
}
int counter = 0;
for(int i = 1;i<=N;i++){
counter += phi[i];
for(int j = 2;i*j <= N;j++){
phi[i*j] -= phi[i];
}
}
g<<2*counter -1;
return 0;
}