Pagini recente » Cod sursa (job #1799422) | Cod sursa (job #437467) | Cod sursa (job #1579682) | Cod sursa (job #2710537) | Cod sursa (job #727134)
Cod sursa(job #727134)
#include<cstdio>
#include<fstream>
#include<cstring>
using namespace std;
const int MaxC = 300;
const char InFile[] = "nunta.in";
const char OutFile[] = "nunta.out";
int N,A[MaxC],B[MaxC],C[MaxC];
void add(int A[], int B[] , int C[] )
{
int i, t = 0;
for (i=1; i<=A[0] || i<=B[0] || t; i++, t/=10)
C[i] = (t += A[i] + B[i]) % 10;
C[0] = i - 1;
}
int main()
{
ifstream fin( InFile );
ofstream fout( OutFile );
fin >> N;
A[0] = B[0] = A[1] = 1;
B[1] = 2;
for( register int i = 3 ; i <= N ; ++i )
{
add(A,B,C);
memcpy(A,B,sizeof(B));
memcpy(B,C,sizeof(C));
}
if( N == 1 )
fout << "1\n";
else
{
for( register int i = B[0] ; i ; --i )
fout << B[i];
fout << '\n';
}
fin.close();fout.close();
return 0;
}