fork(1) download
  1. #include <iostream>
  2. #include <utility>
  3.  
  4.  
  5. int
  6. main()
  7. {
  8. auto result = [](auto f) {
  9. return [=](auto g) {
  10. return [=](auto&&... args) {
  11. return f(g(g), std::forward<decltype(args)>(args)...);
  12. };
  13. }([=](auto g) {
  14. return [=](auto&&... args) {
  15. return f(g(g), std::forward<decltype(args)>(args)...);
  16. };
  17. });
  18. }([](auto f, int n) -> int {
  19. return n < 2 ? n : (f(n - 1) + f(n - 2));
  20. })(10);
  21. std::cout << result << std::endl;
  22. }
Success #stdin #stdout 0.01s 5500KB
stdin
Standard input is empty
stdout
55