Skip to content

Instantly share code, notes, and snippets.

@piperchester
Last active June 20, 2018 01:34
Show Gist options
  • Save piperchester/8ffd9a25d65839d73d5317439ffb4422 to your computer and use it in GitHub Desktop.
Save piperchester/8ffd9a25d65839d73d5317439ffb4422 to your computer and use it in GitHub Desktop.

Recursion examples

def fn1(n):
  """Linear."""
  return 1 if n <= 0 else 1 + fn1(n-1)

def fn2(n): """Linear.""" return 1 if n <= 0 else 1 + fn2(n-5)

def fn3(n): """Log(5).""" return 1 if n <= 0 else 1 + fn3(n/5)

def fn4(n, m, o): """Exponential (2^n).""" if n <= 0: print(n) else: fn4(n - 1, m + 1, o) fn4(n - 1, m, o + 1)

def fn5(n): """n^2.""" while i < n: i += 2

return 1 if n <= 0 else 1 + fn5(n - 5)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment