Skip to content

Instantly share code, notes, and snippets.

@nikita8
Last active August 28, 2018 11:38
Show Gist options
  • Save nikita8/f8bae45b9787018a8b43570311c42df5 to your computer and use it in GitHub Desktop.
Save nikita8/f8bae45b9787018a8b43570311c42df5 to your computer and use it in GitHub Desktop.
WCC W03::C01 Curious Number
def curious_numbers
curious_number_list = []
(1..9999999999).each_slice(100000).each do |numbers|
numbers.each do |number|
square = number ** 2
number_of_digit = number.to_s.length
if(square.to_s[-number_of_digit..-1].to_i == number)
curious_number_list << number
end
end
end
curious_number_list
end
curious_numbers
### Another way
def curious_numbers(number_of_digit)
curious_number_list = []
1.upto(number_of_digit).each do |digit|
first_curious_number = 5**(2**digit) % 10**digit
second_curious_number = 10**digit - first_curious_number + 1
curious_number_list << first_curious_number
curious_number_list << second_curious_number
end
curious_number_list.sort.uniq
end
curious_numbers(10)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment