fork(4) download
  1. #include <iostream>
  2.  
  3. int fib1(int term, int val = 1, int prev = 0) {
  4. if (term == 0) return prev;
  5. if (term == 1) return val;
  6. return fib1(term - 1, val + prev, val);
  7. }
  8.  
  9. int fib2(int term, int val = 1, int prev = 0) {
  10. if (term == 0) return prev;
  11. return fib2(term - 1, val + prev, val);
  12. }
  13.  
  14. int fib3(int term, int val = 1, int prev = 0) {
  15. if (term == 1) return val;
  16. return fib3(term - 1, val + prev, val);
  17. }
  18.  
  19. int main() {
  20. std::cout << "fib1: " << fib1(1) << ", " << fib1(2) << ", " << fib1(3) << ", " << fib1(4) << ", " << fib1(5) << std::endl;
  21. std::cout << "fib2: " << fib2(1) << ", " << fib2(2) << ", " << fib2(3) << ", " << fib2(4) << ", " << fib2(5) << std::endl;
  22. std::cout << "fib3: " << fib3(1) << ", " << fib3(2) << ", " << fib3(3) << ", " << fib3(4) << ", " << fib3(5) << std::endl;
  23. return 0;
  24. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
fib1: 1, 1, 2, 3, 5
fib2: 1, 1, 2, 3, 5
fib3: 1, 1, 2, 3, 5