Cod sursa(job #1377338)

Utilizator laurenttlaurentiu pavel laurentt Data 5 martie 2015 21:14:21
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
#include<iostream>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;

int cmmdc(int a, int b)
{
  if(b == 0 )
    return a;

  if( !(a%b) )
    return b;

  return cmmdc(b,a%b);
}

int main() {
  ifstream fin ("fractii.in");
  ofstream fout("fractii.out");
  int N; fin >> N;
  vector<int> phi; phi.push_back(0);
  for(int i = 1; i <= N; ++i) {
    phi.push_back(i-1);
  }
  for(int i = 2; i <=N; ++i) {
    for(int j = i + i; j <= N; j += i) {
      phi[j] -= phi[i];
    }
  }

  long long sum = 0;
  for(int i = 2; i <= N; ++i) {
    sum += phi[i];
  }

  sum = (sum * 2) + 1;
  fout << sum << '\n';
    
  return 0;
}