Pagini recente » Cod sursa (job #717918) | Runda 2, preONI 2006 | Cod sursa (job #993937) | Cod sursa (job #2080480) | Cod sursa (job #493034)
Cod sursa(job #493034)
#include <stdio.h>
#define LMAX 20005
#define baza 10000
void mul(int A[], int B)
{
int i, t = 0;
for (i = 1; i <= A[0] || t; i++, t /= baza)
A[i] = (t += A[i] * B) % baza;
A[0] = i - 1;
}
int n,A[LMAX];
inline int ncif(int x)
{
if (x==0)
return 1;
int t=0;
while (x)
x/=10,t++;
return t;
}
int main()
{
freopen("patrate2.in","r",stdin);
freopen("patrate2.out","w",stdout);
scanf("%d",&n);
A[0]=1; A[1]=1;
int i,j,t;
for (i=1; i<=n*n; i++)
mul(A,2);
for (i=2; i<=n; i++)
mul(A,i);
for (i=A[0]; i>=1; i--)
{
t=ncif(A[i]);
if (i!=A[0])
for (j=1; j<=4-t; j++)
printf("0");
printf("%d",A[i]);
}
printf("\n");
return 0;
}