Cod sursa(job #2742537)

Utilizator mircea_007Mircea Rebengiuc mircea_007 Data 21 aprilie 2021 10:03:20
Problema Fractii Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
#include <ctype.h>

// Program de Mircea Rebengiuc
// inceput pe 2021.04.21

FILE *fin, *fout;

#define MAXN 1000000

int phi[MAXN + 1];

int main(){
  fin  = fopen("fractii.in",  "r");
  fout = fopen("fractii.out", "w");

  int n, d, i;
  long long rez;

  fscanf(fin, "%d", &n);

  phi[1] = 1;
  for( d = 2 ; d <= n ; d++ )
    phi[d] = d - 1;// ca sa scap de parcurgerea pentru 1
  for( d = 2 ; d <= n ; d++ )
    for( i = d * 2 ; i <= n ; i += d )
      phi[i] -= phi[d];

  rez = 1;
  for( d = 2 ; d <= n ; d++ )
    rez += 2 * phi[d];

  fprintf(fout, "%lld\n", rez);

  fclose(fin);
  fclose(fout);
  return 0;
}