求一个整数的数字和
迭代
fun digitSum(n: Int): Int {
var num = n
var sum = 0
while (num > 0) {
sum += num % 10
num /= 10
}
return sum
}
递归
tailrec fun digitSum(n: Int, acc: Int = 0): Int {
return if (n == 0) acc else digitSum(n / 10, acc + (n % 10))
}
字符串
fun digitSum(n: Int): Int {
return n.toString().sumOf { it - '0' }
}