Pagini recente » Cod sursa (job #2038133) | Cod sursa (job #1857280) | Cod sursa (job #2810319) | Cod sursa (job #493342) | Cod sursa (job #1816580)
#include <fstream>
using namespace std;
ifstream fin("patrate2.in");
ofstream fout("patrate2.out");
//unsigned long long ;
unsigned short n,i,j,t,p[10001],v[10001],q[20001];
void inm()
{
t=0;
q[0]=p[0]+v[0]-1;
for(i=1;i<=p[0]+v[0];i++)
q[i]=0;
for(i=1;i<=p[0];i++)
for(j=1;j<=v[0];j++)
q[i+j-1]+=(p[i]*v[j]);
for(i=1;i<=q[0];i++)
{
q[i]=q[i]+t;
t=q[i]/10;
q[i]=q[i]%10;
}
if(t)
q[++q[0]]=t;
}
void power2()
{
n=n*n;
p[1]=p[0]=1;
for(i=1;i<=n;i++)
{
t=0;
for(j=1;j<=p[0];j++)
{
p[j]=p[j]*2+t;
t=p[j]/10;
p[j]=p[j]%10;
}
while(t)
p[++p[0]]=t%10,t/=10;
}
}
void factorial()
{
v[1]=1;v[0]=1;
for(i=2;i<=n;i++)
{
t=0;
for(j=1;j<=v[0];j++)
{
v[j]=v[j]*i+t;
t=v[j]/10;
v[j]=v[j]%10;
}
while(t)
v[++v[0]]=t%10,t/=10;
}
}
int main()
{
fin>>n;
factorial();
power2();
inm();
///afisarea
for(i=q[0];i>=1;i--)
fout<<q[i];
return 0;
}