Cod sursa(job #998054)

Utilizator poptibiPop Tiberiu poptibi Data 15 septembrie 2013 16:47:39
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <cstdio>
#include <cstdlib>
using namespace std;

const int NMAX = 1000, BASE = 10000000;

int Ans[NMAX], N;

void Mult(int X)
{
    int i, T = 0;
    for(i = 1; i <= Ans[0] || T; i ++, T /= BASE)
        Ans[i] = (T += Ans[i] * X) % BASE;
    Ans[0] = i - 1;
}

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

    scanf("%i", &N);

    Ans[0] = Ans[1] = 1;

    for(int i = 1; i <= N * N; ++ i) Mult(2);
    for(int i = 1; i <= N; ++ i) Mult(i);

    printf("%d", Ans[Ans[0]]);
    for(int i = Ans[0] - 1; i; -- i) printf("%07d", Ans[i]);

    return 0;
}