Cod sursa(job #1104137)

Utilizator pop_bogdanBogdan Pop pop_bogdan Data 10 februarie 2014 14:59:40
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <cstring>
using namespace std;

ifstream is("patrate2.in");
ofstream os("patrate2.out");

int S[5001];
void Multiply(int A[],int B);

int main()
{
    int n;
    is >> n;
    S[0] = 1;
    S[1] = 1;
    for ( int i = 1; i <= n; ++i )
        Multiply(S,i);
    int p = n*n;
    for ( int i = 1; i <= p / 20; ++i )
        Multiply(S,1024*1024);
    for ( int i = 1; i <= p % 20; ++i )
        Multiply(S,2);
    for ( int i = S[0]; i >= 1; --i )
        os << S[i];
    return 0;
}

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