Я пытаюсь умножить массив чисел. Должно быть довольно просто, но по какой-то причине я получаю огромные цифры и не могу понять, где я делаю не так.
Я ввожу число, оно разбивается на массив, пробегает числа и умножает их
var iArray = i.toString().toCharArray()
var iCount = iArray.count().toString()
var x = 0
var sum: Long = 1
while(x < iCount.toInt()) {
Log.i(iArray[x].toString(), "array");
sum *= iArray[x].toLong()
x++
Log.i(sum.toString(), "sum");
}
В logcat я вижу правильные числа в массиве. Например, если я попробую 357, то получу в результате
I / 3: массив
I / 51: сумма
I / 5: массив
I / 2703: сумма
I / 7: массив
I / 148665: сумма
Но если я просто вычислю 3 * 5 * 7, все будет хорошо. Чего мне не хватает?