В тази програма ще се научите да показвате всички армстронг числа между два дадени интервала, нисък и висок, в Kotlin.
Положително цяло число се нарича число на Армстронг от порядък n, ако
abcd … = a n + b n + c n + d n + …
В случай на число на Армстронг от 3 цифри, сумата от кубчета от всяка цифра е равна на самото число. Например:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 е число на Армстронг.
Тази програма е изградена върху концепцията за това как да проверите дали едно цяло число е число на Армстронг или не.
Пример: Числа на Армстронг между две цели числа
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 ") ) )
Когато стартирате програмата, изходът ще бъде:
1634 8208 9474 54748 92727 93084
В горната програма се проверява всяко число между дадения интервал високо и ниско.
След всяка проверка броят на цифрите и резултатът от сумата се възстановяват до 0.