Cod sursa(job #275839)

Utilizator dushmiMihai-Alexandru Dusmanu dushmi Data 10 martie 2009 18:18:53
Problema Patrate2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.5 kb
#include<stdio.h>
int j,n,x,t,aux,i,p2[100001];
int main()
{
    freopen("patrate2.in","r",stdin);
    freopen("patrate2.out","w",stdout);
    scanf("%d",&n);
    
    //2^(n*n)
    x=0;
    p2[0]=1;
    p2[1]=1;
    poq=(n*n)/2;
    r=(n*n)%2;
    while(x<n*n)
    {
               x++;
               t=0;
               for (i=1;i<=p2[0];i++)  
               { 
                 p2[i]=p2[i]*4+t;  
                 t=p2[i]/10;  
                 p2[i]=p2[i]%10;  
               }  
               while (t)  
               { 
                 p2[++p2[0]]=t%10;  
                 t/=10;  
               }  
    }
    if(r==1)
    {
               x++;
               t=0;
               for (i=1;i<=p2[0];i++)  
               { 
                 p2[i]=p2[i]*2+t;  
                 t=p2[i]/10;  
                 p2[i]=p2[i]%10;  
               }  
               while (t)  
               { 
                 p2[++p2[0]]=t%10;  
                 t/=10;  
               }  
    }     
    while (!p2[p2[0]]) p2[0]--;       
    
    //(2^(n*n)*n!
    for(j=2;j<=n;j++)
    {
      aux=j;
      t=0;                   
      for (i=1;i<=p2[0];i++)  
      { 
          p2[i]=p2[i]*aux+t;  
          t=p2[i]/10;  
          p2[i]=p2[i]%10;  
      }   
      while (t)  
      { 
            p2[++p2[0]]=t%10;  
            t/=10;  
      }  
    }
    
    //afisare
    for(i=p2[0];i>=1;i--)
                         printf("%d",p2[i]);
    return 0;
}