class CyclicalCubeSum::CyclicalCubeSummer

Constants

ALL_TRIANGLES
FOUND_TRIANGLES
TRIANGULAR_NUMBERS

Public Instance Methods

cube_array(array) click to toggle source
# File lib/cyclical_cube_sum/cyclical_cube_summer.rb, line 12
def cube_array(array)
  array.map! { |x| x**3 }
end
full_cycle(integer) click to toggle source
# File lib/cyclical_cube_sum/cyclical_cube_summer.rb, line 27
def full_cycle(integer)
  return :triangle if ALL_TRIANGLES.include?(integer)
  result = single_cycle(integer)
  return :loop if result == integer
  count = 0
  result_list = []
  until(count == 99 || ALL_TRIANGLES.include?(result)) # || result_list.include?(result))s
    result = single_cycle(result)
    return :loop if result_list.include? result #puts "Result list: #{result_list}"
    result_list << result
  end
  result
end
get_digit_array(integer) click to toggle source
# File lib/cyclical_cube_sum/cyclical_cube_summer.rb, line 8
def get_digit_array(integer)
  integer.to_s.chars.map(&:to_i)
end
single_cycle(integer) click to toggle source
# File lib/cyclical_cube_sum/cyclical_cube_summer.rb, line 20
def single_cycle(integer)
  char_array = get_digit_array(integer)
  cubed_array = cube_array(char_array)
  result = sum_array(cubed_array)
  result
end
sum_array(x) click to toggle source
# File lib/cyclical_cube_sum/cyclical_cube_summer.rb, line 16
def sum_array(x)
  x.inject(0){|sum,x| sum + x }
end