English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Programa Kotlin para verificar el número armstrong

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.

Ejemplo1:Verificar si un número armstrong tiene3de dígitos

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

Ejemplo2:Verificar si un número armstrong tiene n dígitos

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.

Colección completa de ejemplos de Kotlin