import kotlin.random.Random
/*
Generate random Powerball lottery numbers:
- 5 distinct numbers from 1–69
- 1 distinct Powerball number from 1–26
This program uses:
- Kotlin's Random for RNG
- MutableSet<Int> for uniqueness
- idiomatic functions and clean structure
*/
/*
generateMainNumbers():
Generates 5 UNIQUE numbers in the range [1, 69].
A MutableSet ensures no duplicates.
*/
fun generateMainNumbers(rng: Random): List<Int> {
val chosen: MutableSet<Int> = mutableSetOf()
// Keep adding until we have 5 distinct numbers
while (chosen.size < 5) {
val n: Int = rng.nextInt(1, 70) // 1–69
chosen.add(n)
}
return chosen.toList().sorted()
}
/*
generatePowerball():
Generates a single number in the range [1, 26].
*/
fun generatePowerball(rng: Random): Int {
return rng.nextInt(1, 27) // 1–26
}
fun main() {
val rng: Random = Random.Default
val mainNumbers: List<Int> = generateMainNumbers(rng)
val powerball: Int = generatePowerball(rng)
println("Random Powerball numbers:")
println("Main numbers: ${mainNumbers.joinToString(" ")}")
println("Powerball: $powerball")
}
/*
run:
Random Powerball numbers:
Main numbers: 8 17 23 48 66
Powerball: 1
*/