Skip to content

Instantly share code, notes, and snippets.

@ryandavidhartman
Created February 18, 2016 02:26
Show Gist options
  • Save ryandavidhartman/16aaef5ac1fe5ca0b659 to your computer and use it in GitHub Desktop.
Save ryandavidhartman/16aaef5ac1fe5ca0b659 to your computer and use it in GitHub Desktop.
def factorial(n: Int): Int = if (n == 0) 1 else n * factorial(n - 1)
factorial(4) =
if (4 == 0) 1 else 4 * factorial(4 - 1) =
4 * factorial(4 - 1) =
4 * factorial(3) =
4 * { if (3 == 0) 1 else 3 * factorial(3 - 1) } =
4 * { 3 * factorial(3 - 1) } =
4 * { 3 * factorial(2) } =
4 * { 3 * {if (2 == 0) 1 else 2 * factorial(2 - 1)} } =
4 * { 3 * {2 * factorial(2 - 1)} } =
4 * { 3 * {2 * factorial(1)} } =
4 * { 3 * {2 * { if (1 == 0) 1 else 1 * factorial(1 - 1) } } } =
4 * { 3 * {2 * { 1 * factorial(1 - 1) } } } =
4 * { 3 * {2 * { 1 * factorial(0) } } } =
4 * { 3 * {2 * { 1 * { if (0 == 0) 1 else 0 * factorial(0 - 1) } } } } =
4 * { 3 * {2 * { 1 * { 1 } } } } =
4 * { 3 * {2 * { 1 } } } =
4 * { 3 * {2} } =
4 * { 6 } =
24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment