Cod sursa(job #263581)
| Utilizator | 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;
}
