Neste programa, você aprenderá a exibir todos os números armstrong entre dois intervalos dados, baixo e alto, em Kotlin.
Um número inteiro positivo é chamado de número Armstrong de ordem n se
abcd… = a n + b n + c n + d n +…
No caso de um número Armstrong de 3 dígitos, a soma dos cubos de cada dígito é igual ao próprio número. Por exemplo:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 é um número de Armstrong.
Este programa baseia-se no conceito de como verificar se um inteiro é um número Armstrong ou não.
Exemplo: números de Armstrong entre dois inteiros
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 ") ) )
Quando você executa o programa, a saída será:
1634 8208 9474 54748 92727 93084
No programa acima, cada número entre o intervalo dado alto e baixo é verificado.
Após cada verificação, o número de dígitos e o resultado da soma são restaurados para 0.