Cod sursa(job #961116)

Utilizator XladhenianGrigorita Vlad-Stefan Xladhenian Data 11 iunie 2013 17:15:19
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb

#include <fstream>
using namespace std;

long N;
long Z[50000];
long Len;

void Mul(long x)
{
    long k = 0,a;
    for (a = 0;a < Len || k > 0;a += 1)
    {
        Z[a] = Z[a] * x + k;
        k = Z[a] / 10;
        Z[a] %= 10;
    }
    Len = a;
}

int main(void)
{
    fstream fin("patrate2.in",ios::in);
    fstream fout("patrate2.out",ios::out);

    fin >> N;

    Len = 1;
    Z[0] = 1;

    for (long a = 1;a <= N;a += 1)
    {
        Mul(a);
    }
    for (long a = 0;a < N;a += 1)
    {
        long c = 1;
        for (long b = 0;b < N;b += 1)
        {
            c *= 2;
            if (c > 1024 * 1024)
            {
                Mul(c);
                c = 1;
            }
        }
        Mul(c);
    }

    for (long a = Len - 1;a >= 0;a -= 1)
    {
        fout << Z[a];
    }

    fin.close();
    fout.close();
    return 0;
}