import Foundation
/// Generates N random integers, each with distinct digits and exact length L.
/// - Parameters:
/// - count: Number of integers to generate (N)
/// - length: Exact digit length (L)
/// - Returns: Array of integers meeting the criteria
func generateDistinctDigitNumbers(count: Int, length: Int) -> [Int] {
var results = Set<Int>() // Use Set to avoid duplicates
while results.count < count {
// Generate a random string of digits of length L
let digits = (0..<length).map { _ in Int.random(in: 0...9) }
// Check if all digits are distinct
let digitSet = Set(digits)
guard digitSet.count == digits.count else {
continue // Skip if digits repeat
}
// Convert digit array to integer
let number = digits.reduce(0) { $0 * 10 + $1 }
results.insert(number)
}
return Array(results)
}
// Usage
let numbers = generateDistinctDigitNumbers(count: 10, length: 6)
print(numbers)
/*
run:
[498053, 807316, 897214, 831967, 870192, 912053, 927150, 860941, 476159, 854231]
*/