From 70d5024816b0415aff3c5cc0e32440eece3cfd58 Mon Sep 17 00:00:00 2001 From: amb54 Date: Mon, 3 Apr 2017 19:06:47 -0700 Subject: [PATCH] Updated README with answers --- README.md | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index c2e235e..76d088c 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ # Recursion Problems ## Definitions -Define the following: +Define the following: -- Recursion -- Recursive Case -- Base Case -- Activation Chain/Stack -- Activation Record/Call -- Infinite Recursion/Stack Overflow/Stack too deep -- Tail Recursion +- Recursion: A method that calls itself. +- Recursive Case: The smaller problem that calls itself till the base case is hit. +- Base Case: The easiest case. +- Activation Chain/Stack: The process when the method calls itself. (All the bubbles. The last bubble, before going up the chain again is the base case.) +- Activation Record/Call: Each call (One of the bubbles) +- Infinite Recursion/Stack Overflow/Stack too deep: When the base case is never reached. +- Tail Recursion: ## Tracing through a recursive method @@ -24,9 +24,9 @@ def mystery1(n) end ``` -- What is mystery1(5)? -- What is mystery1(10)? -- What is mystery1(0)? +- What is mystery1(5)? 15 +- What is mystery1(10)? 55 +- What is mystery1(0)? infinit recursion (will never hit the base case) ### Trace #2 ``` @@ -39,9 +39,9 @@ def mystery2(n) end ``` -- What is mystery2(123)? -- What is mystery2(9005)? -- What is mystery2(-123)? +- What is mystery2(123)? 5 +- What is mystery2(9005)? 14 +- What is mystery2(-123)? -123 - _Added Fun: How could we make `mystery2(-123)` work the way we might expect it to work instead of the way it does?_ ### Trace #3 @@ -60,9 +60,9 @@ def mystery3(n) end ``` -- What is mystery3(1)? -- What is mystery3(13)? -- What is mystery3(-6)? +- What is mystery3(1)? 100 +- What is mystery3(13)? 100 +- What is mystery3(-6)? 200 ### Trace #4 ``` @@ -75,9 +75,9 @@ def mystery4(b,e) end ``` -- What is mystery4(10,2)? -- What is mystery4(4,3)? -- What is mystery4(5,0)? +- What is mystery4(10,2)? 100 +- What is mystery4(4,3)? 64 +- What is mystery4(5,0)? 1 ### Trace #5 ``` @@ -90,9 +90,9 @@ def mystery5(s) end ``` -- What is mystery5("hi")? -- What is mystery5("")? -- What is mystery5("Hi, there!")? +- What is mystery5("hi")? '**' +- What is mystery5("")? '' +- What is mystery5("Hi, there!")? '**********' - _Added Fun: How could we make only alphabetic characters to be changed to stars?_ ### Trace #6 @@ -110,7 +110,7 @@ def mystery6(s) end ``` -- What is mystery6("goodnight moon")? -- What is mystery6("Ada Developers Academy")? -- What is mystery6("Hi, there!")? +- What is mystery6("goodnight moon")? " moon goodnight" +- What is mystery6("Ada Developers Academy")? " Academy Developers Ada" +- What is mystery6("Hi, there!")? " there! Hi," - _Added Fun: How could we make the reversal happen by letter, instead of by word (i.e. Make it so that mystery6("goodnight moon") returned "noom thgindoog")?_