def add(number1, number2) number2.times.reduce(number1) { |total| total.next } end add(2,3) # => 5 def subtract(number1, number2) number2.times.reduce(number1) { |total| total.pred } end subtract(5, 3) # => 2 def multiply(number1, number2) number1.times.reduce(0) { |total| add(total, number2) } end multiply(2, 3) # => 6 def exponent(base, power) power.times.reduce(1) { |total| multiply(total, base) } end exponent(2, 3) #=> 8