// An Armstrong number of three digits is an integer that the sum
// of the cubes of its digits Is equal to the number itself
// 371 Is an Armstrong number 3**3 + 7**3 + 1**3 = 371
fun armstrong(n: Int): Int {
var reminder = 0
var sum = 0
val totalDigits = n.toString().length
var tempN = n
while (tempN > 0) {
reminder = tempN % 10
sum += Math.pow(reminder.toDouble(), totalDigits.toDouble()).toInt()
tempN /= 10
}
return sum
}
fun main() {
var n = 153 // 1*1*1 + 5*5*5 + 3*3*3 = 153
if (n == armstrong(n))
println("Armstrong number")
else
println("Not armstrong number")
n = 9474 // 9*9*9*9 + 4*4*4*4 + 7*7*7*7 + 4*4*4*4 = 9474
if (n == armstrong(n))
println("Armstrong number")
else
println("Not armstrong number")
}
/*
run:
Armstrong number
Armstrong number
*/