Cod sursa(job #637131)

Utilizator matei_cChristescu Matei matei_c Data 20 noiembrie 2011 12:12:35
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<cstdio>

const int MAX_R = 800 ;
const int BAZA = 10000 ;

int n;
int r[MAX_R];

void inm(int v[],int x)
{
	int transport = 0, i;
	for(i=1;i<=v[0] || transport>0 ;++i)
	{
		int aux=v[i];
		v[i]=(v[i]*x+transport)%BAZA ;
		transport=(transport+aux*x)/BAZA ;
		
	}	
	v[0] = i-1;
}

void print(int x[])
{
	printf("%d",x[x[0]]);
	for(int i=x[0]-1;i>=1;--i)
		printf("%04d",x[i]);
	printf("\n");	
}

int main()
{
	freopen("patrate2.in","r",stdin);
	freopen("patrate2.out","w",stdout);
	scanf("%d",&n);
	r[1]=1;
	r[0]=1;
	for(int i=1;i<=n;++i)
		inm(r,i);
	for(int i=0;i<n*n/13;++i)
		inm(r,8192);
	for (int i=0;i<n*n%13;++i)
		inm(r, 2);
	print(r);
	return 0;
}