nupanick

recursion.js (2)

Nov 3rd, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.47 KB | None | 0 0
  1. #!/usr/bin/js
  2. 'use strict'
  3.  
  4. let factorial = (n) =>
  5. n === 0
  6. ? 1
  7. : n * factorial(n-1)
  8.  
  9. let tail_factorial = (n) => {
  10. let part_factorial = (n, acc) =>
  11. n === 0
  12. ? acc
  13. : part_factorial(n-1, n*acc)
  14. return part_factorial(n, 1)
  15. }
  16.  
  17. let look_ma_no_curly_braces = (n) => (
  18. f => f(f, n, 1)
  19. )(
  20. (f, n, acc) =>
  21. n === 0
  22. ? acc
  23. : f(f, n-1, n*acc)
  24. )
  25.  
  26. console.log(factorial(5))
  27. console.log(tail_factorial(7))
  28. console.log(look_ma_no_curly_braces(10))
Advertisement
Add Comment
Please, Sign In to add comment