Cod sursa(job #1498372)

Utilizator radu_uniculeu sunt radu radu_unicul Data 8 octombrie 2015 15:15:42
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>
using namespace std;
FILE *fin,*fout;
int n;
long long int sol=1;
int a[15000],b[15000];
void multiply(int x)
{
    for(int i=0; i<15000; i++) b[i]=a[i]*x;
    for(int i=0; i<15000; i++) a[i]=0;
    for(int i=14999; i>=0; i--)
    {
        b[i-1]+=b[i]/10;
        b[i]%=10;
    }
    for(int i=0; i<15000; i++) a[i]=b[i];
}
void print()
{
    bool flag=0;
    for(int i=0; i<15000; 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[14999]=1;
    for(int i=1; i<=n; i++) multiply(i);
    for(int i=1; i<=(n*n)/10; i++)multiply(1024);
    for(int i=1;i<=(n*n)%10;i++) multiply(2);
    print();
}