Pagini recente » Cod sursa (job #114614) | Cod sursa (job #2018846) | Monitorul de evaluare | Cod sursa (job #268051) | Cod sursa (job #147566)
Cod sursa(job #147566)
//numarul de patrate = 2^(n*n-1)* (2^n*n!)
#include <stdio.h>
#define l 455
#define b 10000000
long n,i,j;
long nr[l+10];
int main()
{
freopen("patrate2.in","r",stdin);
freopen("patrate2.out","w",stdout);
scanf("%ld",&n);
nr[l]=1;
//calculez 2^(n*n-n)*2^n
for (i=1; i<=n*n; i++)
{
for (j=l; j>=1; j--)
nr[j]*=2;
for (j=l; j>=1; j--)
{
nr[j-1]+=nr[j]/b;
nr[j]%=b;
}
}
//calculez n!
for (i=1; i<=n; i++)
{
for (j=l; j>=1; j--)
nr[j]*=i;
for (j=l; j>=1; j--)
{
nr[j-1]+=nr[j]/b;
nr[j]%=b;
}
}
for (i=1; i<=l; i++)
if (nr[i]!=0)
{
j=i;
break;
}
printf("%ld",nr[j]);
for (i=j+1; i<=l; i++)
{
long cop=nr[i];
if (cop!=0)
while (cop<b/10)
{
printf("0");
cop*=10;
}
else printf("000000");
printf("%ld",nr[i]);
}
printf("\n");
return 0;
}