W tym programie nauczysz się wyświetlać wszystkie liczby Armstronga między dwoma podanymi przedziałami, niskim i wysokim, używając funkcji w Kotlinie.
Aby znaleźć wszystkie liczby Armstronga między dwiema liczbami całkowitymi, checkArmstrong()
tworzona jest funkcja. Ta funkcja sprawdza, czy liczba jest armstrong, czy nie.
Przykład: liczby Armstronga między dwiema liczbami całkowitymi
fun main(args: Array) ( 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 )
Po uruchomieniu programu wynik będzie następujący:
1634 8208 9474 54748 92727 93084
W powyższym programie stworzyliśmy funkcję o nazwie, checkArmstrong()
która przyjmuje parametr num i zwraca wartość logiczną.
Jeśli liczba jest armstrong, zwraca true
. Jeśli nie, wraca false
.
Na podstawie wartości zwracanej liczba jest wyświetlana na ekranie wewnątrz main()
funkcji.
Oto równoważny kod Java: Program Java do sprawdzania numeru Armstronga za pomocą funkcji.