Pagini recente » Cod sursa (job #313470) | Cod sursa (job #2954696) | Cod sursa (job #239641) | Cod sursa (job #2390587) | Cod sursa (job #3240016)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("nunta.in");
ofstream fout("nunta.out");
int n;
vector<int> A, B, aux;
void afisare()
{
for(auto it = B.crbegin(); it != B.crend(); it++)
fout << *it;
}
void adunare()
{
int T = 0;
for(auto it = B.begin(), it2 = aux.begin(); it != B.end(); ++it)
{
T += *it + *it2;
*it = T % 10;
T /= 10;
if(it2 + 1 == aux.end())
*it2 = 0;
else
++it2;
}
if(T)
B.push_back(1);
}
void genFibo()
{
A.push_back(1);
B.push_back(2);
if(n < 3)
{
fout << n;
return;
}
for(int i = 3; i <= n; i++)
{
aux = A;
A = B;
adunare();
}
afisare();
}
int main()
{
fin >> n;
genFibo();
return 0;
}