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

Programme Kotlin affichant les nombres Armstrong entre deux intervalles

Recueil d'exemples de Kotlin

Dans ce programme, vous allez apprendre à afficher tous les nombres Armstrong entre deux intervalles (bas et haut) en Kotlin.

Un nombre entier est appelé nombre Armstrong de degré n si

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

Pour3Un nombre à n digits est un nombre Armstrong si chaque puissance n de ses digits est égale à la somme de ces digits. Par exemple :

153 = 1*1*1 + 5*5*5 + 3*3*3  // 153 est un nombre Armstrong

Ce programme est basé surComment vérifier si un entier est un nombre Armstrongde cette notion.

Exemple : les nombres Armstrong entre deux entiers

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
        //calcul du nombre de digits
        while (originalNumber != 0) {
            originalNumber /= 10
            ++digits
        }
        originalNumber = number
        //résultat contient la puissance n de ses chiffres
        while (originalNumber != 0) {
            val remainder = originalNumber % 10
            result += Math.pow(remainder.toDouble(), digits.toDouble()).toInt()
            originalNumber /= 10
        }
        if (result == number)
            print("$number ")
    }
}

Lors de l'exécution du programme, la sortie est la suivante :

1634 8208 9474 54748 92727 93084

Dans le programme ci-dessus, chaque nombre entre l'intervalle haut et bas a été vérifié.

Après chaque vérification, digits et result seront restaurés à 0.

Recueil d'exemples de Kotlin