Pagini recente » Istoria paginii runda/oji... | Istoria paginii runda/srymwgerhd | Istoria paginii runda/forest_sprint_two_thousand_eleven/clasament | Istoria paginii runda/apm | Cod sursa (job #1524056)
#include <cstdio>
using namespace std;
const int D=40000;
const int B=10000;
int a[D];
void prod(int v[],int val)
{ int i,r=0;
for(i=1;i<=v[0] || r; ++i)
{ v[i]=(val*v[i]+r);
r=v[i]/B;
v[i]=v[i]%B;
}
v[0]=i-1;
}
int main()
{ freopen("patrate2.in","r",stdin);
freopen("patrate2.out","w",stdout);
int n,i;
a[0]=a[1]=1;
scanf("%d",&n);
for(i=2;i<=n;++i) prod(a,i);
for(i=2;i<=n*n;++i) prod(a,2);
printf("%d",a[a[0]]);
for(i=a[0]-1;i;--i)
printf("%04d",a[i]);
return 0;
}