Cod sursa(job #2150527)

Utilizator DruffbaumPopescu Vlad Druffbaum Data 3 martie 2018 16:56:39
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>

const int MAXN = 1e6;

int a[MAXN + 1];

void mlt(int *a, int b) {
  int i, t = 0;
  for (i = 1; i <= a[0] || t > 0; ++i) {
    t += a[i] * b;
    a[i] = t % 10;
    t /= 10;
  }
  a[0] = i - 1;
}

int main() {
  FILE *fin, *fout;
  int n;
  fin = fopen("patrate2.in", "r");
  fscanf(fin ,"%d", &n);
  fclose(fin);
  a[0] = a[1] = 1;
  for (int i = 2; i <= n; ++i) {
    mlt(a, i);
  }
  for (int i = 0; i < n * n; ++i) {
    mlt(a, 2);
  }
  fout = fopen("patrate2.out", "w");
  for (int i = a[0]; i > 0; --i) {
    fprintf(fout, "%d", a[i]);
  }
  fclose(fout);
  return 0;
}