Pagini recente » Cod sursa (job #3218338) | Cod sursa (job #2541024) | Cod sursa (job #1201987) | Cod sursa (job #2268156) | Cod sursa (job #2904878)
#include<iostream>
using namespace std;
int a[2][1001], b[2][201],cnt=0, c[1][10001];
void inm(int a[], int b[],int k){
int t=0;
for(int i=1;i<=b[0];i++){
a[i]=b[i]*k+t;
t=a[i]/10;
a[i]%=10;
}
while(t){
a[++a[0]]=t%10;
t/=10;
}
}
void inmv(int a[],int b[],int c[]){
int t=0;
c[0]=a[0]+b[0]-1;
for(int i=1;i<=a[0]+b[0];i++)
c[i]=0;
for(int i=1;i<=a[0];i++)
for(int j=1;j<=b[0];j++)
c[i+j-1]+=a[i]*b[j];
for(int i=1;i<=c[0];i++){
t=(c[i]+=t)/10;
c[i]%=10;
}
if(t)
c[++c[0]]=t;
}
int main(){
int n;
cin>>n;
int t=0;
a[1][0]=1;
a[1][1]=1;
b[1][1]=2;
b[1][0]=1;
for(int i=1;i<=n;i++){
a[t][0]=a[1-t][0];
inm(a[t], a[1-t], i);
t=1-t;
}
int tt=0;
for(int i=2;i<=2*n;i++){
b[tt][0]=b[1-tt][0];
inm(b[tt],b[1-tt], 2);
tt=1-tt;
}
int nn=n*n;
while(nn>0){
b[1][++cnt]=nn%10;
nn/=10;
}
for(int i=a[1-t][0];i>0;i--)
cout<<a[1-t][i];
cout<<"\n";
for(int i=b[1-tt][0];i>0;i--)
cout<<b[1-tt][i];
cout<<"\n";
inmv(a[1-t], b[1-tt], c[0]);
cout<<c[0][0]<<" ";
for(int i=c[0][0];i>0;i--)
cout<<c[i]<<" ";
}