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