Kotlin 使用函数显示两个区间之间的阿姆斯特朗数的程序

要查找两个整数之间的所有阿姆斯特朗数,创建了checkArmstrong()函数。该函数检查一个数字是否为阿姆斯特朗数

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

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
}

运行程序后,输出将是

1634 8208 9474 54748 92727 93084 

在上面的程序中,我们创建了一个名为checkArmstrong()的函数,它接受一个参数num并返回一个布尔值。

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

根据返回值,数字在main()函数内显示在屏幕上。

这是等效的Java代码:Java程序使用函数检查阿姆斯特朗数。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战