Pagini recente » Monitorul de evaluare | Cod sursa (job #2433151) | Cod sursa (job #1725329) | Cod sursa (job #732633) | Cod sursa (job #1486467)
#include <cstdio>
#define LIM 15023
int a[LIM];
int b[LIM];
int p;
int n;
int main()
{
freopen ("patrate2.in","r",stdin);
freopen ("patrate2.out","w",stdout);
scanf("%d",&n);
int m=n*n;
a[1]=1;
p=1;
for(int x=1;x<=m;x++)
{
for(int i=1;i<=p;i++)
{
a[i]*=2;
a[i]+=a[i-1]/10;
a[i-1]%=10;
}
a[p+1]=a[p]/10;
a[p]%=10;
while(a[p+1]!=0)
{
p++;
a[p+1]=a[p]/10;
a[p]%=10;
}
}
for(int i=p;i>=1;i--) b[i]=a[i];
for(int v=2;v<=n;v++)
{
for(int x=2;x<=v;x++)
{
for(int i=1;i<=p;i++)
{
b[i]+=a[i];
b[i+1]+=b[i]/10;
b[i]%=10;
}
while(b[p+1]!=0)
{
p++;
}
}
for(int i=1;i<=p;i++) a[i]=b[i];
}
for(int i=p;i>=1;i--) printf("%d",b[i]);
}