Cod sursa(job #260351)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 16 februarie 2009 22:32:07
Problema Patrate2 Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>   
#include <string.h>
  
#define Lmax 1024   
#define BASE 10   
  
  
int n;   
int sol[Lmax],sol1[Lmax];   
  
void citire()
{   
    freopen("patrate2.in","rt",stdin);   
    scanf("%d\n", &n);   
}   
  
 
void multiply(int a[], int b) 
{
	int i=0,t=0;
	for (i=1;i<=a[0] || t; ++i, t/=BASE)
		a[i]=(t+=a[i]*b)%BASE;
	a[0]=i-1;
}
  
void scrie(int A[])   
{   
    int i;   
       
    freopen("patrate2.out", "w", stdout);   
    for (i=A[0]-1;i;--i)
		printf("%d", A[i]);
}   
  
  
void solve()   
{   
    int i;   
    sol[0]=sol[1]=1;   
    for (i=1;i<=n*n;++i)   
        multiply(sol,2);   
    multiply(sol,n);  
    scrie(sol);   
}   
  
int main()   
{   
  
    citire();   
    solve();   
    return 0;   
}