Pagini recente » Cod sursa (job #1605684) | Cod sursa (job #2961274) | Cod sursa (job #3003590) | Cod sursa (job #2707449) | Cod sursa (job #344117)
Cod sursa(job #344117)
#include<cstdio>
#define N 10001
short int f[N],c[N],n,cn,d[N];
void mul(short int a[],short int x)
{
int t=0,i;
for (i=1; i<=a[0]||t; ++i,t/=10)
a[i]=(t+=a[i]*x)%10;
a[0]=i-1;
}
void mul1(short int a[],short int b[])
{
int t=0,i,j;
for (i=1; i<=a[0]; ++i)
{
for (j=1; j<=b[0]||t; ++j,t/=10)
d[i+j-1]=(t+=d[i+j-1]+a[i]*b[j])%10;
if (i+j-2>d[0])
d[0]=i+j-2;
}
}
void citire()
{
freopen("patrate2.in","r",stdin);
freopen("patrate2.out","w",stdout);
scanf("%hd",&n);
f[0]=c[0]=1;
f[1]=c[1]=1;
for (int i=2; i<=n; ++i)
{
mul(f,i);
mul(c,2);
}
cn=n*n;
for(int i=n; i<=cn; ++i)
mul(c,2);
mul1(f,c);
}
void afis()
{
while(d[0])
{
printf("%hd",d[d[0]]);
--d[0];
}
}
int main()
{
citire();
afis();
return 0;
}