Cod sursa(job #6468)

Utilizator alex_damianDamian Alexandru alex_damian Data 19 ianuarie 2007 18:54:33
Problema Patrate2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <cstdio>
#include <cstring>


#define FIN "patrate2.in"
#define FOUT "patrate2.out"
#define MAXC 10001


long a[MAXC], b[MAXC], n, i, j;


void inm(int x) {
	int poz, c, ii;
	poz = 0;
  memset(b, 0, sizeof(b));
  do {
    c = x % 10;
    for (ii=1; ii<=a[0]; ii++) b[ii+poz] += a[ii] * c;
    x = (int) (x / 10);
    poz++;
  } while (x);
  b[0] = a[0];
  for (poz = 1; (poz<=b[0]) || (b[poz] != 0); poz++) {
     b[poz+1] += int (b[poz] / 10);
     b[poz] = b[poz] % 10;
  }
	b[0] = poz - 1;
	for (poz = 0; poz <= b[0]; poz++) a[poz] = b[poz];
}

int main () {
	freopen(FIN, "r", stdin);
  freopen(FOUT, "w", stdout);
  scanf("%d", &n);
  a[0] = a[1] = 1;
  for (i=2; i<=n; i++)
     inm(i);
  for (i=1; i<=n*n; i++)
     inm(2);
  for (i=a[0]; i>0; i--) printf("%d", a[i]);
  printf("\n");
  return 0;
}