Cod sursa(job #1926027)

Utilizator TherevengerkingSurani Adrian Therevengerking Data 13 martie 2017 22:05:19
Problema Patrate2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("patrate2.in");
ofstream fout("patrate2.out");
int nr[100000];
int n;
void prod(int a[],int b)
{
    int t=0,i;
    for(i=1;i<=a[0];++i)
    {
        a[i]=a[i]*b+t;
        t=a[i]/10000;
        a[i]%=10000;
    }
    while(t)
    {
        a[++a[0]]=t%10000;
        t/=10000;
    }
}
int main()
{
    fin>>n;
    if(n==1)fout<<2;
    else
    {
        nr[0]=1;
        nr[1]=2;
        for(int i=2;i<=n*n;++i)
            prod(nr,2);
        prod(nr,n);
        for(int i=n-1;i>1;--i)prod(nr,i);
        for(int i=nr[0],x,c;i>0;--i)
        {
            if(i!=nr[0])
            {
                x=nr[i];c=0;
                while(x)
                {
                    c++;
                    x/=10;
                }
                while(c<4)fout<<0;
                if(nr[i]!=0)fout<<nr[i];
            }
            else fout<<nr[i];
        }

    }
    return 0;
}