fork download
  1. #include <utility>
  2. #include <iostream>
  3.  
  4.  
  5. long lindh(unsigned int n, int &count)
  6. {
  7. long lin = 0;
  8. if (n == 1 || n == 2) {
  9. lin = 1;
  10. } else {
  11. ++count;
  12. lin = 1 * lindh(n - 1, count) + 3 * lindh(n - 2, count);
  13. }
  14. return lin;
  15. }
  16.  
  17. std::pair<long,int> lindh(unsigned int n)
  18. {
  19. int count = 0;
  20. return {lindh(n, count), count};
  21. }
  22.  
  23. int main()
  24. {
  25. auto b = lindh(24);
  26. std::cout << "lindhauer = " << b.first << "\ncount = " << b.second << std::endl;
  27. }
Success #stdin #stdout 0s 15232KB
stdin
Standard input is empty
stdout
lindhauer = 137109280
count = 46367