Cod sursa(job #504364)

Utilizator ms-ninjacristescu liviu ms-ninja Data 27 noiembrie 2010 15:49:07
Problema Patrate2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
using namespace std;
#define dim 100000
int v[dim],a[dim], j, cifre,n, rez, i;
ifstream fin("patrate2.in");
ofstream fout("patrate2.out");
void mare(long x, int a[dim])
{
		j=v[0];
		cifre=1;
		while(j>0)
		{
			a[cifre]=a[cifre]*x;
			++cifre;
			--j;
		}
		
		for(j=1;j<=cifre;++j)
			while(a[j]>9)
				{++a[j+1];a[j]-=10;}
		
		a[0]=cifre-1;
		
		while(a[a[0]+1]!=0)
			++a[0];
		
}



int main()
{
	fin>>n;
	rez=n*n;
	v[0]=1;
	v[1]=1;
	for(i=4;i<=rez;i+=4)
		mare(16,v);
	
	if(rez%4==1)
		mare(2,v);
	if(rez%4==2)
		mare(4,v);
	if(rez%4==3)
		mare(8,v);
		
	for(i=1;i<=n;++i)
		mare(i,v);	
	
		
		
	for(i=v[0];i>=1;--i)
		fout<<v[i];
	
	
	

		
		
	return 0;
}