#include <iostream>
#include <vector>
std::vector<int> getFibs(int from, int to);
int main(int argc, char** argv)
{
int from,to;
std::cout << "Which fibonacci numbers do you want?" << std::endl
<< "from: ";
std::cin >> from;
std::cout << "to: ";
std::cin >> to;
std::vector<int> fibs = getFibs(from,to);
std::cout << "[";
for(std::vector<int>::iterator it=fibs.begin(); it!=fibs.end(); ++it)
{
std::cout << *it << " ";
}
std::cout << "]" << std::endl;
return 0;
}
std::vector<int> getFibs(int from, int to)
{
int a = 0;
int b = 1;
for(int i=0; i<from;++i) {
b += a;
a = b - a;
}
std::vector<int> result;
for(int i=from;i<to;++i) {
b += a;
a = b - a;
result.push_back(a);
}
return result;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKc3RkOjp2ZWN0b3I8aW50PiBnZXRGaWJzKGludCBmcm9tLCBpbnQgdG8pOwoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQp7CiAgICBpbnQgZnJvbSx0bzsKICAgIHN0ZDo6Y291dCA8PCAiV2hpY2ggZmlib25hY2NpIG51bWJlcnMgZG8geW91IHdhbnQ/IiA8PCBzdGQ6OmVuZGwKICAgICAgICAgICAgICA8PCAiZnJvbTogIjsKICAgIHN0ZDo6Y2luID4+IGZyb207CiAgICBzdGQ6OmNvdXQgPDwgInRvOiAiOwogICAgc3RkOjpjaW4gPj4gdG87CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IGZpYnMgPSBnZXRGaWJzKGZyb20sdG8pOwogICAgc3RkOjpjb3V0IDw8ICJbIjsKICAgIGZvcihzdGQ6OnZlY3RvcjxpbnQ+OjppdGVyYXRvciBpdD1maWJzLmJlZ2luKCk7IGl0IT1maWJzLmVuZCgpOyArK2l0KQogICAgewoJc3RkOjpjb3V0IDw8ICppdCA8PCAiICI7CiAgICB9CiAgICBzdGQ6OmNvdXQgPDwgIl0iIDw8IHN0ZDo6ZW5kbDsKICAgIHJldHVybiAwOwp9CgpzdGQ6OnZlY3RvcjxpbnQ+IGdldEZpYnMoaW50IGZyb20sIGludCB0bykKewogICAgIGludCBhID0gMDsKICAgICBpbnQgYiA9IDE7CiAgICAgZm9yKGludCBpPTA7IGk8ZnJvbTsrK2kpIHsKICAgICAgICAgYiArPSBhOwogICAgICAgICBhID0gYiAtIGE7CiAgICAgfQogICAgIHN0ZDo6dmVjdG9yPGludD4gcmVzdWx0OwogICAgIGZvcihpbnQgaT1mcm9tO2k8dG87KytpKSB7CiAgICAgICAgIGIgKz0gYTsKICAgICAgICAgYSA9IGIgLSBhOwogICAgICAgICByZXN1bHQucHVzaF9iYWNrKGEpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0Owp9