在此程序中,您将学习使用Kotlin中的函数显示两个给定间隔(低和高)之间的所有阿姆斯壮数字。
为了找到两个整数之间的所有阿姆斯壮数,将创建函数checkArmstrong()。此函数检查数字是否为armstrong。
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
    //位数计算
    while (originalNumber != 0) {
        originalNumber /= 10
        ++digits
    }
    originalNumber = num
    //结果包含其数字的n次幂
    while (originalNumber != 0) {
        val remainder = originalNumber % 10
        result += Math.pow(remainder.toDouble(), digits.toDouble()).toInt()
        originalNumber /= 10
    }
    if (result == num)
        return true
    return false
}运行该程序时,输出为:
1634 8208 9474 54748 92727 93084
在上面的程序中,我们创建了一个名为checkArmstrong()的函数,该函数接受一个参数num,并返回一个布尔值。
如果数字是阿姆斯特朗,则返回true。如果不是,则返回false。
根据返回值,number将在main()函数内打印在屏幕上。
这是等效的Java代码:使用功能检查阿姆斯特朗数字的Java程序。