import scala.util.Random
def generateUniqueRandomNumbers(N: Int, min: Int, max: Int): Vector[Int] = {
require(max - min + 1 >= N, "Range is too small to generate the desired number of unique random numbers")
val random = new Random()
var numbers = Set.empty[Int]
while (numbers.size < N) {
numbers += random.nextInt((max - min) + 1) + min
}
numbers.toVector
}
val N = 8
val uniqueNumbers = generateUniqueRandomNumbers(N, 1, 20)
println(uniqueNumbers)
/*
run:
Vector(14, 20, 1, 13, 2, 7, 3, 18)
*/