Pagini recente » Cod sursa (job #2064626) | Cod sursa (job #2819893) | Cod sursa (job #1094728) | Cod sursa (job #3143252) | Cod sursa (job #1169914)
#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;
}
for(int i = 2;i<=N;i++){
if(phi[i] == i){
for(int j = i;j <= N;j += i){
phi[j] /= i;
phi[j] *= (i-1);
}
}
}
g<<2*accumulate(phi.begin(),phi.end(),0)-1;
return 0;
}