From b213cfec8252a9c803964ba5b9f9dd2107aebfbd Mon Sep 17 00:00:00 2001 From: Natalia Kuleniuk Date: Mon, 27 Mar 2017 20:54:16 -0700 Subject: [PATCH] recursion writing exercise --- recursion-writing.rb | 54 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 recursion-writing.rb diff --git a/recursion-writing.rb b/recursion-writing.rb new file mode 100644 index 0000000..5856512 --- /dev/null +++ b/recursion-writing.rb @@ -0,0 +1,54 @@ +def factorial(n) + if n == 0 + return n + else + return n * factorial(n-1) + end +end + +def reverse(s) + if s.length == 1 + return s + else + return s[-1] + reverse(s[0...-1]) + end +end + +def bunny(n) + if n == 0 + return 0 + else + return 2 + bunny(n-1) + + end +end + +def nested(s) + if s.length % 2 != 0 + return false + elsif s.length == 0 + return true + elsif s[0] == "(" && s[-1] == ")" + return nested(s[1...-1]) + else + return false + end +end + +def fib(n) + if n == 1 || n == 0 + return n + else + return fib(n-1) + fib(n-2) + end +end + +def pal(s) + if s.length <= 1 + return true + elsif s[0] == s[-1] + return pal(s[1...-1]) + else + return false + end +end