Pagini recente » Cod sursa (job #2027948) | Cod sursa (job #1063174) | Cod sursa (job #2869739) | Cod sursa (job #269640) | Cod sursa (job #1195092)
#include <fstream>
using namespace std;
ifstream in("nunta.in");
ofstream out("nunta.out");
int A[250],B[250],C[250],n;
void cpy(int A[], int B[])
{
A[0]=B[0];
for(int i=1;i<=A[0];i++)
A[i]=B[i];
}
void add(int A[],int 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()
{
in>>n;
A[0]=A[1]=B[0]=1;
B[1]=2;
if(n<3)out<<n<<'\n';
for(int i=1;i<=n-2;i++)
{
cpy(C,B);
add(B,A);
cpy(A,C);
}
for(int i=B[0];i;i--)
out<<B[i];
out.close();
return 0;
}