Skip to content

Instantly share code, notes, and snippets.

@nav16
Created August 3, 2021 08:08
Show Gist options
  • Select an option

  • Save nav16/6f614a349483dda0be8f58eced8ed262 to your computer and use it in GitHub Desktop.

Select an option

Save nav16/6f614a349483dda0be8f58eced8ed262 to your computer and use it in GitHub Desktop.
Lychrel_number
class LychrelNumber
def run(n)
max_iteratoins = 10
value = n
steps = 0
converge = false
(1..max_iteratoins).each do |i|
reverse = reverse(value)
if reverse == value
converge = true
break
end
value = value + reverse
steps = i;
end
if converge
return "Steps: #{steps}, Result: #{value}"
end
"Did not converge Steps #{steps}, Result #{value}"
end
def reverse(n)
remainder = 0
number = n
new_number = 0 # 40
while number > 0
remainder = number % 10
new_number = new_number * 10 + remainder
number = number / 10
end
new_number
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment