Cod sursa(job #800296)

Utilizator ephgstefana gal ephg Data 21 octombrie 2012 11:51:25
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<cstdio>
#include<iostream>
using namespace std;
int rez[700000],n;
void inm(int b){
	int i,t=0;
	for(i=1;i<=rez[0];++i){
		rez[i]*=b;
		//cout<<"i="<<i<<" rez[i]="<<rez[i]<<"\n";
	}
	for(i=1;i<=rez[0]||t;++i){
		rez[i]+=t;
		t=rez[i]/10000;
		rez[i]%=10000;
		//cout<<"i="<<i<<" rez[i]="<<rez[i]<<"\n";
	}
	rez[0]=i-1;
}
int main () {
	int i,aux,p;
	freopen("patrate2.in","r",stdin);
	freopen("patrate2.out","w",stdout);
	scanf("%d",&n);
	aux=n*n;
	p=15;
	rez[0]=rez[1]=1;
	for(;aux>p;aux-=p)inm((1<<p));
	inm((1<<aux));
	for(i=2;i<=n;++i)inm(i);
	//cout<<rez[0]<<'\n';
	for(i=rez[0];i;--i){
		if(i==rez[0])printf("%d",rez[i]);
		else printf("%04d",rez[i]);
	}
	return 0;
}