Cod sursa(job #263581)

Utilizator dushmiMihai-Alexandru Dusmanu dushmi Data 20 februarie 2009 17:03:24
Problema Patrate2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include<stdio.h>
int n,x,t,aux,i,p2[100001];
int main()
{
    freopen("patrate2.in","r",stdin);
    freopen("patrate2.out","w",stdout);
    scanf("%d",&n);
    
    //2^(n-1)
    x=0;
    p2[0]=1;
    p2[1]=1;
    while(x<n-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]--;
    
    //n*(n+1)
    aux=n*(n+1);

    //(2^(n-1))*n*(n+1)      
    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=1;i<=p2[0];i++)
                         printf("%d",p2[i]);
    return 0;
}