Pagini recente » Cod sursa (job #2115001) | Cod sursa (job #2639998) | Cod sursa (job #52334) | Cod sursa (job #2232774) | Cod sursa (job #2108861)
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
int A[210],B[210];
void Add(int A[], int 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;
int *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<<B[i];
else
for(int i=A[0];i>=1;i--)
g<<A[i];
return 0;
}