Cod sursa(job #1868455)

Utilizator TincaMateiTinca Matei TincaMatei Data 4 februarie 2017 22:44:40
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <cstdio>

int phi[200001];

int main() {
  int n, x;

  for(int i = 2; i <= 200000; ++i)
    phi[i] = i;
  for(int d = 2; d <= 200000; ++d)
    if(phi[d] == d)
      for(int i = d; i <= 200000; i = i + d)
        phi[i] = phi[i] - phi[i] / d;

  FILE *fin = fopen("sum.in", "r");
  FILE *fout = fopen("sum.out", "w");
  fscanf(fin, "%d", &n);
  for(int i = 0; i < n; ++i) {
    fscanf(fin, "%d", &x);
    fprintf(fout, "%lld\n", (long long)phi[x] * x * 2);
  }
  fclose(fin);
  fclose(fout);
  return 0;
}