Cod sursa(job #766302)

Utilizator alexalbu95Albu Alexandru alexalbu95 Data 10 iulie 2012 22:06:18
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <cstdio>
using namespace std;
ifstream f("patrate2.in");

int n, a[100000], i;

void nr(int x, int a[])
{
    int t=0;

    for(int i=1; i<=a[0]; ++i, t/=10)
        a[i] = (t+=a[i]*x) % 10;

    while(t)
    {
        a[++a[0]]=t%10;
        t/=10;
    }
}

int main()
{
    freopen("patrate2.out", "w", stdout);

    f>>n;

    if(n==1) { printf("2\n"); return 0; }

    a[0]=a[1]=1;
    for(i=2; i<=n; ++i) nr(i, a);

    n*=n;

    for(i=1; i<=n/4; ++i) nr(16, a);

    if(n%2==1) nr(2, a);

    for(i=a[0]; i>=1; --i) printf("%d", a[i]);
}