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