Cod sursa(job #983424)

Utilizator crisbodnarCristian Bodnar crisbodnar Data 11 august 2013 19:23:35
Problema Patrate2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("patrate2.in");
ofstream fout("patrate2.out");

long n, h[5000];
const long p2 = (1 << 30);

inline void Mul(long x)
{
    long t = 0;
    for(int i=1; i<=h[0]; i++)
    {
        h[i] = h[i] * x + t;
        t = h[i] / 10;
        h[i] %= 10;
    }
    while(t)
    {
        h[++h[0]] = t % 10;
        t /= 10;
    }
}

int main()
{
    fin>>n; //cout<<p2;
    h[0] = h[1] = 1;
    for(int i=1; i<=n; i++)
        Mul(i);
    if(n*n > 30) Mul(p2), n = n*n-30;
    else n *= n;
    for(int i=1; i<=n; i++)
            Mul(2);
    for(int i=h[0]; i>0; i--)
        fout<<h[i];
    return 0;
}