# Kotlin 程序：使用函数显示间隔之间的阿姆斯特朗数

> 原文： [https://www.programiz.com/kotlin-programming/examples/armstrong-number-function](https://www.programiz.com/kotlin-programming/examples/armstrong-number-function)

#### 在此程序中，您将学习使用 Kotlin 中的函数显示两个给定间隔（低和高）之间的所有阿姆斯特朗数字。

为了找到两个整数之间的所有阿姆斯特朗数，创建了`checkArmstrong()`函数。 此功能[检查号码是否为阿姆斯特朗](/kotlin-programming/examples/armstrong-number "Check armstrong number in Kotlin")。

## 示例：两个整数之间的阿姆斯特朗数

```kt
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
}
```

运行该程序时，输出为：

```kt
1634 8208 9474 54748 92727 93084 
```

在上面的程序中，我们创建了一个名为`checkArmstrong()`的函数，该函数采用参数`num`并返回布尔值。

如果数字是阿姆斯特朗数，则返回`true`。 如果不是，则返回`false`。

根据返回值，在`main()`函数内的屏幕上打印数字。

下面是等效的 Java 代码：[使用功能检查阿姆斯特朗数的 Java 程序](/java-programming/examples/armstrong-number-function "Java Program to Check Armstrong Number using Function")。