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

Programa Kotlin exibindo números Armstrong entre intervalos

Coleção Completa de Exemplos do Kotlin

Neste programa, você aprenderá a exibir todos os números Armstrong entre dois intervalos (baixo e alto) em Kotlin.

um número inteiro positivo é chamado de número Armstrong de ordem n, se

abcd... = an + bn + cn + dn + ...

para3um número Armstrong de dí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 Armstrong

este programa é baseado emcomo verificar se um número inteiro é um número Armstrongo conceito.

exemplo: números Armstrong entre dois inteiros

fun main(args: Array<String>) {
    val low = 999
    val high = 99999
    for (number in low + 1..high - 1) {
        var digits = 0
        var result = 0
        var originalNumber = number
        //cálculo de dígitos
        while (originalNumber != 0) {
            originalNumber /= 10
            ++digits
        }
        originalNumber = number
        //o resultado contém o número da potência n
        while (originalNumber != 0) {
            val remainder = originalNumber % 10
            result += Math.pow(remainder.toDouble(), digits.toDouble()).toInt()
            originalNumber /= 10
        }
        if (result == number)
            print("$number ")
    }
}

Quando o programa é executado, a saída é:

1634 8208 9474 54748 92727 93084

No programa acima, foi verificado cada número entre a alta e a baixa do intervalo especificado.

Após cada verificação, os valores de digits e result serão restaurados para 0.

Coleção Completa de Exemplos do Kotlin