Pagini recente » Cod sursa (job #1876853) | Cod sursa (job #2976984) | Cod sursa (job #546824) | Cod sursa (job #2812168) | Cod sursa (job #338655)
Cod sursa(job #338655)
#include<cstdio>
const int b = 10000000;
const int N = (1<<10);
int n,v[N];
void produs(int *v,int x)
{
int t=0,aux,i;
for(i=1;i<=v[0] || t;++i)
{
aux=v[i]*x+t;
t=aux/b;
v[i]=aux%b;
}
v[0]=i-1;
}
void fact(int n)
{
v[0]=v[1]=1;
for(int i=2;i<=n;++i)
produs(v,i);
}
void pow2(int n)
{
while(n--)
produs(v,2);
}
void scrie()
{
for(int i=v[0];i;--i)
printf("%d",v[i]);
printf("\n");
}
long long f(int n)
{
long long p=1;
for(int i=2;i<=n;++i)
p*=i;
return p;
}
int main()
{
freopen("patrate2.in","r",stdin);
freopen("patrate2.out","w",stdout);
scanf("%d",&n);
fact(n);
pow2(n*n);
scrie();
//printf("%lld\n",f(n)*((long long)1<<(n*n)));
return 0;
}