Cod sursa(job #1498366)

Utilizator radu_uniculeu sunt radu radu_unicul Data 8 octombrie 2015 15:10:02
Problema Patrate2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<stdio.h>
using namespace std;
FILE *fin,*fout;
int n;
long long int sol=1;
int a[20000],b[20000];
void multiply(int x)
{
    for(int i=0; i<20000; i++) b[i]=a[i]*x;
    for(int i=0; i<20000; i++) a[i]=0;
    for(int i=1999; i>=0; i--)
    {
        b[i-1]+=b[i]/10;
        b[i]%=10;
    }
    for(int i=0; i<20000; i++) a[i]=b[i];
}
void print()
{
    bool flag=0;
    for(int i=0; i<20000; i++)
    {
        if(a[i]!=0) flag=1;
        if(flag)fprintf(fout,"%d",a[i]);
    }
}
int main()
{
    fin=fopen("patrate2.in","r");
    fout=fopen("patrate2.out","w");
    fscanf(fin,"%d",&n);
    a[19999]=1;
    for(int i=1; i<=n; i++) multiply(i);
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++) multiply(2);
    print();
}