Cod sursa(job #912890)

Utilizator lupuletiLupuleti Catalin lupuleti Data 12 martie 2013 22:40:29
Problema Patrate2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<fstream>
using namespace std;
int n,sol[10000];

void Inmulteste(int A[],int B)
{
    int i,t=0;
    for(i=1;i<=A[0] || t;i++,t/=10000)
        A[i]=(t+=A[i]*B)%10000;
    A[0]=i-1;
}

int main()
{
    ifstream cin("patrate2.in");
    cin>>n;

    int i,r;
    sol[0]=sol[1]=1;
    for(i=2;i<=n;i++)
        Inmulteste(sol,i);
    n=n*n;
    r=n%17;
    n/=17;
    for(i=1;i<=n;i++)
        Inmulteste(sol,(1<<17));
    for(i=1;i<=r;i++)
        Inmulteste(sol,2);

    ofstream cout("patrate2.out");
    cout << sol[sol[0]];
    for(i=sol[0]-1;i>0;i--)
        cout << sol[i];
cout << "\n";
    return 0;
}