在此程序中,您将学习使用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程序。