Нужно заполнить дек числами фибоначи при помощи алгоритма generate и лямбда функции.Может кто подкинет идейку через анонимную лямбду?А то через просто функцию сам догадываюсь
Что-то типа
int main(int argc, const char * argv[])
{
deque<int> fib;
generate_n(back_inserter(fib),40,[](){static int f0 = 0, f1 = 1;
int save = f0; f0 = f1;
f1 += save; return save; });
for(auto i: fib) cout << i << endl;
}
Элегантнее, наверное, все-таки через изменяемую лямбду:
#include <iostream>
int main() {
auto f = [x0 = 0u, x1 = 1u]() mutable -> unsigned { auto retVal = x0; x0 = x1; x1 = retVal + x0; return retVal; };
std::cout << f() << '\n';
std::cout << f() << '\n';
std::cout << f() << '\n';
std::cout << f() << '\n';
std::cout << f() << '\n';
std::cout << f() << '\n';
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей