Cod sursa(job #882399)

Utilizator Catah15Catalin Haidau Catah15 Data 19 februarie 2013 08:18:09
Problema Patrate2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

#define maxN 10000

int sol[maxN];


void mul (int A[], int x)
{
    int i, t = 0;
    for (i = 1; t || i <= A[0]; ++ i, t /= 10)
        A[i] = (t += x * A[i]) % 10;
    A[0] = i - 1;
}


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

    int N;
    scanf ("%d", &N);

    sol[0] = sol[1] = 1;

    for (int i = 1; i <= N; ++ i) mul (sol, i);
    for (int i = 1; i <= N * N; ++ i) mul (sol, 2);

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

    return 0;
}