defmodule Chop do def guess(actual, range), do: guess_conditional(actual, range, div(Range.size(range),2)) def guess_conditional(actual, range, current_guess) do if actual > 0 and actual <= Range.size(range) do guess_helper(actual, range, current_guess) end end def guess_helper(actual, _, current_guess) when current_guess == actual do "#{current_guess}" end def guess_helper(actual, range, current_guess) when current_guess > actual do IO.puts "Is it #{current_guess} >" low.._//_ = range range = low..(current_guess) #IO.puts "#{range.first}..#{range.last}" guess_helper(actual, range, div(current_guess+low,2)) end def guess_helper(actual, range, current_guess) when current_guess < actual do IO.puts "Is it #{current_guess} <" _..high//_ = range range = (current_guess)..high #IO.puts "#{range.first}..#{range.last}" guess_helper(actual, range, div(current_guess+high+1,2)) end end