How to find the smallest and largest digits in a number in Ruby

1 Answer

0 votes
# Finds the smallest and largest digits in a number.
#
# @param number [Integer] The input number.
# @return [Array<Integer>] An array containing:
#   - smallest digit
#   - largest digit
def find_min_max_digits(number)
  # Handle negative numbers
  number = number.abs

  # Special case for 0
  return [0, 0] if number == 0

  min_digit = 9
  max_digit = 0

  while number > 0
    # Extract the last digit
    digit = number % 10

    # Update smallest digit
    min_digit = digit if digit < min_digit

    # Update largest digit
    max_digit = digit if digit > max_digit

    # Remove the last digit
    number /= 10
  end

  [min_digit, max_digit]
end

# Input data
number = 839516

# Find smallest and largest digits
min_digit, max_digit = find_min_max_digits(number)

# Display results
puts "Number: #{number}"
puts "Smallest digit: #{min_digit}"
puts "Largest digit: #{max_digit}"


# run:
# 
# Number: 839516
# Smallest digit: 1
# Largest digit: 9
#

 



answered 20 hours ago by avibootz
...