Cod sursa(job #2780955)

Utilizator vlad_dimuVlad Dimulescu vlad_dimu Data 8 octombrie 2021 10:21:08
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
#define MAXN 1000000
using namespace std;

ifstream fin( "fractii.in" );
ofstream fout( "fractii.out" );

int euler[MAXN + 1];

void indicator( int n ){
  int i, j;
  for( i = 1; i <= n; i++ )
    euler[i] = i;
  for( i = 2; i <= n; i++ )
    if( euler[i] == i ) //i e prim
      for( j = i; j <= n; j += i )
        euler[j] = euler[j] / i * (i - 1);
}

int main(){
  int n, i;
  long long sum;
  fin >> n;
  indicator(n);
  sum = 1;
  for( i = 1; i <= n; i++ )
    sum += (2 * euler[i]);
  fout << sum - 2;
}