How to generate N random integers, each with distinct digits and exact length L in Ruby

1 Answer

0 votes
# Generate N random integers, each with distinct digits and exact length L
def generate_unique_digit_numbers(n, length)
  results = []

  while results.size < n
    # Generate a random number with exactly L digits
    num = rand(10**(length - 1)...10**length)

    # Convert number to string and check if all digits are unique
    digits = num.to_s.chars
    if digits.uniq.length == digits.length
      results << num
    end
  end

  results
end


puts generate_unique_digit_numbers(10, 6)


# run:
# 
# 912305
# 156730
# 756029
# 673019
# 265071
# 754068
# 768325
# 954136
# 403861
# 756823
# 

 



answered 1 day ago by avibootz

Related questions

...