Cod sursa(job #1816207)

Utilizator adiaioanaAdia R. adiaioana Data 26 noiembrie 2016 11:18:02
Problema Patrate2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>

using namespace std;
ifstream fin("patrate2.in");
ofstream fout("patrate2.out");
int v[151];
unsigned long long p;
int n,i,j,t;
unsigned long long power(int x)
{
    if(x==0)
        return 1;
    unsigned long long y=power(x/2);
    if(x%2==0)
        return y*y;
    else return y*y*2;
}
int main()
{
    fin>>n;
    v[1]=1;v[0]=1;
    for(i=2;i<=n;i++)
    {
        t=0;
        for(j=1;j<=v[0];j++)
        {
            v[j]=v[j]*i+t;
            t=v[j]/10;
            v[j]=v[j]%10;
        }
        while(t)
            v[++v[0]]=t%10,t/=10;
    }
    n=n*n;
    p=power(n);
    t=0;
    for(i=1;i<=v[0];i++)
    {
        v[i]=v[i]*p+t;
        t=v[i]/10;
        v[i]=v[i]%10;
    }
    while(t)
        v[++v[0]]=t%10,t/=10;
    for(i=v[0];i>=1;i--)
        fout<<v[i];
    return 0;
}