logoalt Hacker News

fainpullast Friday at 6:20 PM1 replyview on HN

Any good engineer knows there is no "best" solution, only tradeoffs.

Save space.

  def even_flip_flop(number):
    even = True
    for _ in range(number):
      even = not even
    return even

Ditto. Sure, this overflows the stack, but you look cool doing it.

  def even_recursive(number):
    return True if number == 0 else not even_recursive(number - 1)

Save time. Just buy more RAM.

  table = [True, False] * 1000  # adjust to your needs
  def even_lookup(number):
    return table[number]

Replies

bobbylarrybobbylast Friday at 7:08 PM

You can combine the second and third strategies to hit the sweet spot of time and space.