Cod sursa(job #2787582)

Utilizator DajaMihaiDaja Mihai DajaMihai Data 23 octombrie 2021 18:29:24
Problema Patrate2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>
#include <math.h>
#define Cif 5000

char a[Cif];
int x;

int multiply (int& na, int value){
    int m = 0, i = 0;
    while (m || i < na){
        m += a[i] * value;
        a [i] = m % 10;
        m /= 10;
        i ++;
    }
    na = fmax (i, na);
}

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

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

  a [0] = 1; x = 1;

  for (i = 2; i <= n; ++i)
    multiply(x, i);
  for (i = 1; i <= n * n; ++i)
    multiply(x, 2);

  for (i = x - 1; i >= 0; --i)
    fputc('0' + a[i], fout);

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