Pagini recente » Cod sursa (job #705946) | Cod sursa (job #2731344) | Cod sursa (job #1047466) | Cod sursa (job #1867431) | Cod sursa (job #2024657)
#include <cstdio>
#include <cstring>
#define LMAX 220
typedef unsigned char Huge[LMAX];
inline void Copy(Huge &A,Huge &B){
for(int i=0;i<=B[0];++i)
A[i]=B[i];
};
inline void Set(Huge &A){
int siz=A[0];
for(int i=0;i<=siz;++i)
A[i]=0;
}
inline void Atrib(Huge &A,int x){
Set(A);
if(!x) A[++A[0]]=0;
while(x){
A[++A[0]]=x%10;
x/=10;
}
}
inline void SumMare(Huge A,Huge B,Huge &C){
Set(C);
int i,r=0;
for(i=1;i<=A[0]||i<=B[0]||r;++i){
int aux=r+A[i]+B[i];
C[i]=aux%10;
r=aux/10;
}
C[0]=i-1;
}
inline void Write(Huge A){
for(int i=A[0];i;--i)
printf("%d",A[i]);
printf("\n");
}
Huge A,B,C;
int main(){
freopen("nunta.in","r",stdin);
freopen("nunta.out","w",stdout);
Atrib(A,1);Atrib(B,1);
int n;
scanf("%d",&n);
for(int i=2;i<=n;++i){
SumMare(A,B,C);
Copy(A,B);
Copy(B,C);
}
Write(B);
return 0;
}