Cod sursa(job #32776)

Utilizator gigi_becaliGigi Becali gigi_becali Data 18 martie 2007 14:21:41
Problema Patrate2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>

int n;
int A[10300];

void citire()
{
	freopen("patrate2.in", "r", stdin);
	scanf("%d\n", &n);
}

void mul(int A[], long long B)
{
	int i;
	long long  t=0;

	for(i=1; i<=A[0] || t ; ++i, t/=10)
		A[i]=(t+=A[i]*B)%10;
	A[0]=i-1;
}

void calcul()
{
	int i;
	A[0]=1;
	A[1]=1;
	
	for(i=2;i<=n;i++) mul(A, i);

	int p=n/30;
	int q=n%30;

//	for(i=1;i<=p;i++) mul(A, 1<<30);
	for(i=1;i<=n;i++) mul(A, 2);

	p=(n*n-n)/30;
	q=(n*n-n)%30;

//	for(i=1;i<=p;i++) mul(A, 1<<30);
	for(i=1;i<=n*n-1;i++) mul(A, 2);
}
void afis(int A[])
{
  for(int i=A[0];i>0;i--) printf("%d", A[i]);
  printf("\n");
}

 
int main()
{
	citire();
	calcul();
	freopen("patrate2.out", "w", stdout);
	afis(A);
	return 0;
}