U ovom programu naučit ćete prikazivati sve armstrong brojeve između dva zadana intervala, niskog i visokog, koristeći funkciju u Kotlinu.
Da bi se pronašli svi armstrong brojevi između dviju cijelih brojeva, checkArmstrong()
kreira se funkcija. Ova funkcija provjerava je li broj armstrong ili ne.
Primjer: Armstrongovi brojevi između dva cijela broja
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 )
Kada pokrenete program, izlaz će biti:
1634 8208 9474 54748 92727 93084
U gore navedenom programu stvorili smo funkciju imenovanu checkArmstrong()
koja uzima parametar num i vraća logičku vrijednost.
Ako je broj armstrong, vraća se true
. Ako nije, vraća se false
.
Na temelju povratne vrijednosti, broj se ispisuje na zaslonu unutar main()
funkcije.
Evo ekvivalentnog Java koda: Java program za provjeru Armstrongova broja pomoću funkcije.