Cod sursa(job #1781618)

Utilizator loo_k01Luca Silviu Catalin loo_k01 Data 17 octombrie 2016 09:00:22
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.34 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("patrate2.in");
ofstream fout("patrate2.out");
int a[100001], n;
int lg;

/*
void Citeste()
{
    int i;
    char nr[101];
    fin >> (nr+1);
    lga = 0;
    for(i = strlen(nr)-1; i>0; i--)
        a[++lga] = nr[i]- '0';
}

void Suma(int a[], int b[], int c[], int lga, int lgb, int &lgc)
{
    int i, s, r, maxim;
    lgc = max(lga, lgb);
    if(lga>lgb)
    {
        for(i = lgb+1; i<=lga; i++)
            b[i] = 0;
    }
    if(lga<lgb)
    {
        for(i = lga+1; i<=lgb; i++)
            a[i] = 0;
    }
    r = 0;
    for(i = 1; i<=lgc; i++)
    {
        s = a[i]+b[i]+r;
        c[i] = s%10;
        r = s/10;
    }
    if(r!=0)
        c[++lgc]=r;
}
*/
void Produs(int x)
{
    int r, i, c;
    r = 0;
    for(i = 1;i <= lg; i++)
    {
        c = a[i]*x+r;
        a[i] = c%10;
        r = c/10;
    }
    while(r!=0)
    {
        a[++lg] = r%10;
        r/=10;
    }

}
/*
void Afisare(int a[], int lg)
{
    int i;
    for(i = 1; i<=lg; i++)
        cout << a[i];
}
*/
int main()
{
    fin >> n;
    a[1] = 1;
    lg = 1;
    int i;
    for(i = 1; i<=n; i++)
        Produs(i);
    n = n*n;
    for(i = 1; i<=n;i++)
        Produs(2);
    for(i=lg; i>0; i--)
        fout << a[i];
    fout.close();
    return 0;
}