// ------------------------------------------------------------
// digitsToNumberJoin
// Converts digits to a string, then parses it.
// Example: [1,2,3,4] → "1234" → 1234
// ------------------------------------------------------------
fun digitsToNumberJoin(digits: IntArray): Int {
return digits.joinToString("").toInt()
}
// ------------------------------------------------------------
// digitsToNumberMath
// Pure mathematical folding (no string operations).
// ------------------------------------------------------------
fun digitsToNumberMath(digits: IntArray): Int {
var n = 0
for (d in digits) {
n = n * 10 + d
}
return n
}
// ------------------------------------------------------------
// digitsToNumberFold
// Functional Kotlin style using fold().
// ------------------------------------------------------------
fun digitsToNumberFold(digits: IntArray): Int {
return digits.fold(0) { acc, d -> acc * 10 + d }
}
fun main() {
val digits = intArrayOf(4, 6, 3, 9, 1, 2)
println("Using join(): ${digitsToNumberJoin(digits)}")
println("Using math(): ${digitsToNumberMath(digits)}")
println("Using fold(): ${digitsToNumberFold(digits)}")
}
/*
run:
Using join(): 463912
Using math(): 463912
Using fold(): 463912
*/