Pagini recente » Cod sursa (job #151998) | Cod sursa (job #1058966) | Cod sursa (job #3209064) | Cod sursa (job #1488394) | Cod sursa (job #2244484)
#include <fstream>
#define VAL 505
using namespace std;
ifstream fin("nunta.in");
ofstream fout("nunta.out");
int N, i, j, t, X, Y, Z;
int A[VAL], B[VAL], C[VAL];
void ADD()
{
t=0;
for (i=1; i<=B[0]; i++)
{
C[i]=B[i];
if (i<=A[0])
C[i]+=A[i];
C[i]+=t;
t=C[i] / 1000;
C[i]%=1000;
}
C[0]=B[0];
if (t>0)
C[++C[0]]=1;
}
void Copy1()
{
A[0]=B[0];
for (i=1; i<=B[0]; i++)
A[i]=B[i];
}
void Copy2()
{
B[0]=C[0];
for (i=1; i<=C[0]; i++)
B[i]=C[i];
}
int main()
{
fin >> N;
if (N<=2)
{
fout << N;
return 0;
}
A[0]=B[0]=A[1]=1;
B[1]=2;
for (j=3; j<=N; j++)
{
ADD();
Copy1();
Copy2();
}
for (i=C[0]; i>=1; i--)
{
if (i==C[0])
{
fout << C[i];
continue;
}
Z=C[i] % 10;
C[i]/=10;
Y=C[i] % 10;
C[i]/=10;
X=C[i] % 10;
fout << X << Y << Z;
}
fin.close();
fout.close();
return 0;
}