Cod sursa(job #2781136)

Utilizator Teodor94Teodor Plop Teodor94 Data 8 octombrie 2021 16:42:44
Problema Fractii Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>

int indEuler(int n) {
  int euler, d;

  euler = n;
  d = 2;
  while (d * d <= n) {
    if (n % d == 0) {
      euler = euler / d * (d - 1);

      while (n % d == 0)
        n /= d;
    }

    ++d;
  }

  if (n > 1)
    euler = euler / n * (n - 1);

  return euler;
}

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

  int n, i;
  long long s;
  fscanf(fin, "%d", &n);

  s = 1;
  for (i = 2; i <= n; ++i)
    s += indEuler(i) * 2;

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

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