Kotlin Program to Display Armstrong Numbers Between Intervals Using Function

To find all armstrong numbers between two integers, checkArmstrong() function is created. This function checks whether a number is armstrong or not.

Example: Armstrong Numbers Between Two Integers

fun main(args: Array<String>) {
    val low = 999
    val high = 99999

    for (number in low + 1..high - 1) {
        if (checkArmstrong(number))
            print("$number ")
    }
}

fun checkArmstrong(num: Int): Boolean {
    var digits = 0
    var result = 0
    var originalNumber = num

    // number of digits calculation
    while (originalNumber != 0) {
        originalNumber /= 10
        ++digits
    }

    originalNumber = num

    // result contains sum of nth power of its digits
    while (originalNumber != 0) {
        val remainder = originalNumber % 10
        result += Math.pow(remainder.toDouble(), digits.toDouble()).toInt()
        originalNumber /= 10
    }

    if (result == num)
        return true

    return false
}

When you run the program, the output will be:

1634 8208 9474 54748 92727 93084 

In the above program, we've created a function named checkArmstrong() which takes a parameter num and returns a boolean value.

If the number is armstrong, it returns true. If not, it returns false.

Based on the return value, number is printed on the screen inside main() function.

Here's the equivalent Java code: Java Program to Check Armstrong Number using Function.

Did you find this article helpful?