Cod sursa(job #1233713)

Utilizator smaraldaSmaranda Dinu smaralda Data 25 septembrie 2014 21:42:39
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>

const int BASE = 10000, NCIF = 1000;

int c[NCIF];

void multiply (int x) {
    int t, i;
    
    t = 0;
    for(i = 1; i <= c[0]; ++ i) {
        c[i] = c[i] * x + t;
        t = c[i] / BASE;
        c[i] %= BASE;
    }
    while(t) {
        c[++ c[0]] = t % BASE;
        t /= BASE;
    }
}

int main() {
    freopen("patrate2.in", "r", stdin);
    freopen("patrate2.out", "w", stdout);
    int n, i, sqr;

    scanf("%d", &n);
    sqr = n * n;
    c[0] = c[1] = 1;

    for(i = 2; i <= n; ++ i)
        multiply(i);
    for(i = 1; i <= sqr; ++ i)
        multiply(2);

    printf("%d", c[c[0]]);
    for(i = c[0] - 1; i >= 1; -- i)
        printf("%04d", c[i]);
    return 0;
}