Pagini recente » Cod sursa (job #988409) | Cod sursa (job #317835) | Cod sursa (job #945867) | Cod sursa (job #298054) | Cod sursa (job #1719593)
#include <cstdio>
using namespace std;
int n,nr,b[102],a[4002],c[4002];
int main()
{
freopen("patrate2.in", "r", stdin);
freopen("patrate2.out", "w", stdout);
scanf("%d", &n);
int arie=n*n;
while(arie>0){
b[++nr]=arie%2;
arie/=2;
}
a[0]=1;a[1]=1;
for(int i=nr;i>=1;--i){
c[0]=a[0]+a[0]-1;
for(int j=1;j<=a[0];++j)
for(int t=1;t<=a[0];++t){
c[j+t-1]+=a[j]*a[t];
}
a[0]=c[0];
int t=0;
for(int i=1;i<=c[0];++i){
t=(c[i]+=t)/10;
c[i]=c[i]%10;
a[i]=c[i];c[i]=0;
}
if(t)
a[++a[0]]=t;
if(b[i]==1){
for(int j=a[0];j>=1;--j){
a[j]*=2;a[j+1]+=a[j]/10;
a[j]=a[j]%10;
}
if(a[a[0]+1]>0) ++a[0];
}
}
for(int j=a[0];j>=1;--j){
a[j]*=n;a[j+1]+=a[j]/10;
a[j]=a[j]%10;
}
if(a[a[0]+1]>0) ++a[0];
for(int i=a[0];i>=1;--i)
printf("%d",a[i]);
return 0;
}