fun getPrimeFactors(n: Int): List<Int> {
val factors = mutableListOf<Int>()
var number = n
var divisor = 2
while (number >= 2) {
if (number % divisor == 0) {
factors.add(divisor)
number /= divisor
} else {
divisor++
}
}
return factors
}
fun main() {
println("124 = ${getPrimeFactors(124).joinToString(" x ")}")
println("288 = ${getPrimeFactors(288).joinToString(" x ")}")
println("1288 = ${getPrimeFactors(1288).joinToString(" x ")}")
}
/*
run:
124 = 2 x 2 x 31
288 = 2 x 2 x 2 x 2 x 2 x 3 x 3
1288 = 2 x 2 x 2 x 7 x 23
*/