nupanick

recursion.js

Nov 3rd, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/nodejs
  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