Pagini recente » Cod sursa (job #643172) | Cod sursa (job #455735) | Cod sursa (job #1846103) | Cod sursa (job #2839522) | Cod sursa (job #591348)
Cod sursa(job #591348)
#include<iostream.h>
#include<fstream.h>
#include<math.h>
//fstream f("patrate2.in",ios::in), g("patrate2.out",ios::out);
void mult(int p,int x);
void copiere(int w[10000],int v[10000],int k,int x);
void slap(int a[10000],int b,int &n);
int z[10000],c[10000];
int main()
{
int i,n,k;
z[1]=1;n=1;
freopen("patrate2.in","r",stdin);
freopen("patrate2.out","w",stdout);
scanf("%d",&k);
//f>>k;
for(i=1;i<=k;i++)
{ slap(z,i,n);}
for(i=1;i<=k*k;i++)
slap(z,2,n);
for(i=1;i<=n;i++)
{ printf("%05d",z[i]);
//g<<z[i];
//cout<<z[i];
}
return 0;
}
void copiere(int w[10000],int v[10000],int k,int x)
{
int i;
if(x==1)
for(i=x;i<=k;i++)
{ w[i]=v[i];v[i]=0;}
else
for(i=x+1;i<=k;i++)
{ w[i]=v[i-1];v[i-1]=0;}
}
void slap(int a[10000],int b,int &n)
{
int j,m=0,l,k,aux;
aux=b;
while(aux)
{ m++;
aux/=10;
}
k=m+n;
k--;
while(b)
{ l=k;
for(j=n;j>=1;j--)
{ /*c[l]+=(b%10*a[j]);
if(c[l]>9)
mult(c[l],l);
l--;*/
c[l]+=(b%10*a[j]);
if(c[l]>9)
{ aux=c[l];
c[l]=c[l]%10;
aux/=10;
c[l-1]+=aux;
}
l--;
}
k--;
b/=10;
}
k=m+n;
k--;
if(c[0]==0)
{ copiere(a,c,k,1);
k--;
}
else
{ k++;
copiere(a,c,k,0);k--;}
k++;
n=k;
}