Pagini recente » Cod sursa (job #1177133) | Autentificare | Cod sursa (job #1228136) | Cod sursa (job #3192087) | Cod sursa (job #3240448)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("nunta.in");
ofstream fout("nunta.out");
int n;
vector<int> A, B;
void afisare()
{
for(auto it = B.crbegin(); it != B.crend(); it++)
fout << *it;
}
void adunare()
{
int T = 0;
for(auto it = A.begin(), it2 = B.begin(); it2 != B.end(); ++it, ++it2)
{
if(it != A.end())
{
T += *it + *it2;
*it = T % 10;
}
else
{
T += *it2;
A.push_back(T % 10);
}
T /= 10;
}
if(T)
A.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++)
{
adunare();
A.swap(B);
}
afisare();
}
int main()
{
fin >> n;
genFibo();
return 0;
}