Cod sursa(job #1449079)
Utilizator | Data | 8 iunie 2015 18:29:41 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.37 kb |
#include <vector>
#include <fstream>
#include <numeric>
using namespace std;
int main(){
ifstream f("fractii.in");
int n = 0;
f >> n;
vector<int> phi(n+1, 0);
iota(begin(phi), end(phi), 0);
for(int i = 1; i <= n/2; ++i){
for(int j = 2*i; j <= n; j+=i){
phi[j] -= phi[i]; } }
ofstream g("fractii.out");
g << (2*accumulate(begin(phi), end(phi), 0ull)-1);
return 0; }