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