Pagini recente » Cod sursa (job #2776980) | Cod sursa (job #1056864) | Cod sursa (job #2669729) | Cod sursa (job #2098935) | Cod sursa (job #2108863)
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
char A[210],B[210];
void Add(char A[], char B[])
/* A <- A+B */
{ int i,T=0;
if (B[0]>A[0])
{ for (i=A[0]+1;i<=B[0];) A[i++]=0;
A[0]=B[0];
}
else for (i=B[0]+1;i<=A[0];) B[i++]=0;
for (i=1;i<=A[0];i++)
{ A[i]+=B[i]+T;
T=A[i]/10;
A[i]%=10;
}
if (T) A[++A[0]]=T;
}
int main()
{
int N;
f >> N;
A[0]=B[0]=1;
A[1]=1;
B[1]=2;
char *f1=A,*f2=B,*aux;
for(int i=2;i<=N;i++)
{
Add(f1,f2);
aux=f1;
f1=f2;
f2=aux;
}
if(N%2==0)
for(int i=B[0];i>=1;i--)
g<<int(B[i]);
else
for(int i=A[0];i>=1;i--)
g<<int(A[i]);
return 0;
}