Cod sursa(job #1475304)

Utilizator fluture.godlikeGafton Mihnea Alexandru fluture.godlike Data 23 august 2015 19:50:22
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <cstdio>

#define base 10000
#define SIZE 10000007

using namespace std;
FILE *fin, *fout;
int n, aux[SIZE];

void afisare(int a[1000])
{
    int temp, count = 0;
    for(int i = a[0]; i>= 1; i--)
    {
        if(i == a[0])
        {
            printf("%d", a[i]);
            continue;
        }
        printf("%04d", a[i]);
    }
    printf("\n");
}
void inmultire(int a[SIZE], int b1)
{
    int carry = 0, temp;
    for(int i = 1; i<= a[0]; i++)
    {
        temp = a[i] * b1 + carry;
        a[i] = temp%base;
        carry = temp/base;
    }
    while(carry)
    {
        a[0]++;
        a[a[0]] = carry%base;
        carry/=base;
    }
}

int main()
{
    fin = freopen("patrate2.in", "r", stdin);
    fout = freopen("patrate2.out", "w", stdout);
    scanf("%d", &n);
    aux[0] = 1;
    aux[1] = 1;
    for(int i = 2; i<= n; ++i) inmultire(aux, i);
    for(int i = 1; i<= n*n; ++i) inmultire(aux, 2);
    afisare(aux);
    fclose(fin);
    fclose(fout);
    return 0;
}