Pagini recente » Cod sursa (job #14384) | Cod sursa (job #2778177) | Cod sursa (job #1409287) | Cod sursa (job #2691466) | Cod sursa (job #1605303)
#include <iostream>
#include <fstream>
using namespace std;
int a[10000],b[10000],c[10000];
int pow(int x,int y)
{int p=1;
while(y>0)
{if(y%2==0)
{x=x*x;
y=y/2;
}
else
{p=p*x;
y--;
}}
return p;
}
void produs(int a[10000],int b[10000],int c[10000])
{int r,i,j;
r=0;
c[0]=a[0]+b[0]-1;
for(i=1;i<=a[0]+b[0];i++)
c[i]=0;
for(i=1;i<=a[0];i++)
for(j=1;j<=b[0];j++)
c[i+j-1]=c[i+j-1]+a[i]*b[j];
for(i=1;i<=c[0];i++)
{c[i]=c[i]+r;
r=c[i]/10;
c[i]=c[i]%10;}
if(r!=0)
{c[0]++;
c[c[0]]=r;}
a[0]=c[0];
for(i=1;i<=a[0];i++)
a[i]=c[i];
}
int main()
{
int n,m,i,j;
fstream f("patrate2.in",ios::in);
fstream g("patrate2.out",ios::out);
f>>n;
a[0]=1;
a[1]=1;
for(i=2;i<=n;i++)
{b[0]=0;
m=i;j=0;
while(m!=0)
{j++;
b[j]=m%10;
m=m/10;
b[0]++;
}
produs(a,b,c);}
b[0]=1;
b[1]=2;
for(i=1;i<=n*n;i++)
produs(c,b,a);
for(i=c[0];i>=1;i--)
g<<c[i];
if(n==1)
g<<2;
}