English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Colección completa de ejemplos de Kotlin
En este programa, aprenderás a verificar si un número dado es un número armstrong. Aprenderás a hacerlo usando bucles while en Kotlin.
Un entero positivo se llama número armstrong de orden n si
abcd... = an + bn + cn + dn + ...
Para3Un número entero positivo se llama número armstrong de orden n si
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 es un número armstrong.
fun main(args: Array<String>) { val number = 371 var originalNumber: Int var remainder: Int var result = 0 originalNumber = number while (originalNumber != 0) { remainder = originalNumber % 10 result +result = Math.pow(remainder.toDouble(), 3.0).toInt() originalNumber /= 10 } if (result == number) println("$number es un número Armstrong.")} else println("$number no es un número armstrong.") }
Al ejecutar el programa, la salida es:
371 es un número armstrong
Primero, el valor del número (number) se almacena en otra variable entera originalNumber. Porque, necesitamos comparar el número final con el número original al final.
Luego, se itera originalNumber usando un bucle while hasta que sea 0.
En cada iteración, el último dígito de num se almacena en remainder.
Luego, se suma remainder usando la función Math.pow()3(número de dígitos)y se suma a result.
Luego, se divide10Luego, se elimina el último dígito de originalNumber.
Finalmente, se compara result y number. Si son iguales, es un número armstrong. Si no, no lo es.
A continuación, se muestra el código Java equivalente:Programa Java para verificar el número armstrong
fun main(args: Array) { val number = 1634 var originalNumber: Int var remainder: Int var result = 0 var n = 0 originalNumber = number while (originalNumber != 0) { originalNumber /= 10 ++n } originalNumber = number while (originalNumber != 0) { remainder = originalNumber % 10 result +result = Math.pow(remainder.toDouble(), n.toDouble()).toInt() originalNumber /= 10 } if (result == number) println("$number es un número Armstrong.")} else println("$number no es un número Armstrong.")}
En este programa, usamos dos bucles while. El primer bucle while se utiliza para calcular el número de dígitos en number.
Luego, originalNumber se restablece al número dado.
Luego, el segundo bucle while verifica si el número es un número Armstrong.
Visite esta página para saber cómoMostrar todos los números Armstrong entre dos intervalos de tiempo.