Cod sursa(job #2114412)

Utilizator DruffbaumPopescu Vlad Druffbaum Data 25 ianuarie 2018 16:22:30
Problema Fractii Scor 30
Compilator cpp Status done
Runda ichb_10 Marime 0.56 kb
#include <cstdio>

const int MAXN = 1e6;

int pr[MAXN + 1];

int main() {
  int n;
  long long ans;
  FILE *f = fopen("fractii.in", "r");
  fscanf(f, "%d", &n);
  fclose(f);
  for (int i = 1; i <= n; ++i) {
    pr[i] = i;
  }
  for (int i = 2; i <= n; ++i) {
    if (pr[i] == i) {
      for (int j = i; j <= n; j += i) {
        pr[j] = pr[j] * (i - 1) / i;
      }
    }
  }
  ans = 0LL;
  for (int i = 1; i <= n; ++i) {
    ans += pr[i];
  }
  f = fopen("fractii.out", "w");
  fprintf(f, "%lld\n", 2 * ans - 1);
  fclose(f);
  return 0;
}