Program Kotlin do wyświetlania numeru Armstronga w dwóch odstępach czasu

W tym programie nauczysz się wyświetlać wszystkie liczby Armstronga między dwoma podanymi interwałami, niskim i wysokim, w Kotlinie.

Dodatnią liczbę całkowitą nazywamy liczbą Armstronga rzędu n, jeśli

abcd… = a n + b n + c n + d n +…

W przypadku liczby Armstronga składającej się z 3 cyfr, suma sześcianów każdej cyfry jest równa samej liczbie. Na przykład:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 to liczba Armstronga. 

Ten program jest oparty na koncepcji sprawdzania, czy liczba całkowita jest liczbą Armstronga, 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) ( var digits = 0 var result = 0 var originalNumber = number // number of digits calculation while (originalNumber != 0) ( originalNumber /= 10 ++digits ) originalNumber = number // 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 == number) print("$number ") ) ) 

Po uruchomieniu programu wynik będzie następujący:

 1634 8208 9474 54748 92727 93084 

W powyższym programie sprawdzane są wszystkie liczby pomiędzy podanym przedziałem wysokim i niskim.

Po każdym sprawdzeniu liczba cyfr i wynik sumaryczny są przywracane do 0.

Interesujące artykuły...