How to check if a number is an Armstrong number or not in Kotlin

1 Answer

0 votes
// 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
 
*/

 



answered Dec 27, 2024 by avibootz

Related questions

1 answer 109 views
1 answer 102 views
1 answer 137 views
1 answer 123 views
1 answer 228 views
...