English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste programa, você aprenderá a verificar se um número é um número de Armstrong. Você aprenderá a fazer isso usando loops while no Kotlin.
Um inteiro positivo é chamado de Armstrong order, se
abcd... = an + bn + cn + dn + ...
Para3dígitos, a soma das potências ao cubo de cada dígito é igual ao número本身. Por exemplo:
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 é um número de Armstrong de
fun main(args: Array<String>) { val number = 371 var originalNumber: Int var remainder: Int var result = 0 originalNumber = number enquanto (originalNumber != 0) { remainder = originalNumber % 10 result +result = Math.pow(remainder.toDouble(), 3.0).toInt() originalNumber /= 10 } se (result == number) println("$number é um número Armstrong.")} else println("$number não é um número de Armstrong.") }
Quando o programa é executado, a saída é:
371 é um número de Armstrong
Primeiro, o valor do número (number) é armazenado em outra variável inteira originalNumber. Isso porque precisamos comparar o número final com o número original no final.
Em seguida, usa-se um loop while para percorrer originalNumber, até que ele seja 0.
Em cada iteração, o último dígito de num é armazenado em remainder.
Depois, usa-se Math.pow() para adicionar remainder3(número de dígitos)e adiciona-se ao result.
Depois, divide-se por10Em seguida, remove-se o último dígito de originalNumber.
Por fim, compara-se result e number. Se forem iguais, é um número de Armstrong. Se não forem, não é.
Aqui está o código Java equivalente:Programa Java para verificar número de Armstrong
fun main(args: Array) { val number = 1634 var originalNumber: Int var remainder: Int var result = 0 var n = 0 originalNumber = number enquanto (originalNumber != 0) { originalNumber /= 10 ++n } originalNumber = number enquanto (originalNumber != 0) { remainder = originalNumber % 10 result +result = Math.pow(remainder.toDouble(), n.toDouble()).toInt() originalNumber /= 10 } se (result == number) println("$number é um número Armstrong.")} else println("$number não é um número Armstrong.")}
Neste programa, usamos dois loops while. O primeiro loop while é usado para calcular o número de dígitos no número.
Então, originalNumber é restaurado para o número fornecido.
Então, o segundo loop while verifica se o número é um número Armstrong.
Acesse esta página para saber comoExibir todos os Números Armstrong entre Dois Intervalos de Tempo.