Cod sursa(job #1723095)

Utilizator TincaMateiTinca Matei TincaMatei Data 29 iunie 2016 18:00:45
Problema Fractii Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <stdio.h>
#define MAX_N 1000000

int euler[1+MAX_N];

int main(){
  int n, i, d;
  long long s;
  FILE *fin = fopen( "fractii.in" , "r" );
  fscanf(fin, "%d", &n);
  fclose( fin );

  for(i = 1; i <= n; i++)
    euler[i] = i;

  for(d = 2; d <= n; d++)
    if(euler[d] == d)
      for(i = d; i <= n; i += d)
        euler[i] = euler[i] - euler[i] / d;

  s = 0LL;
  for(i = 1; i <= n; i++)
    s = s + euler[i];

  FILE *fout = fopen( "fractii.out" , "w" );
  fprintf(fout, "%lld", s * 2 - 1);
  fclose( fout );
  return 0;
}