Programme Java pour vérifier le numéro Armstrong

Dans ce programme, vous apprendrez à vérifier si un nombre donné est un nombre armstrong ou non. Vous apprendrez à faire cela en utilisant une boucle for et une boucle while en Java.

Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation Java suivantes:

  • Java pendant et faire… en boucle
  • Instruction Java if… else
  • Java pour Loop

Un entier positif est appelé un nombre Armstrong d'ordre n si

abcd… = a n + b n + c n + d n +…

Dans le cas d'un nombre Armstrong de 3 chiffres, la somme des cubes de chaque chiffre est égale au nombre lui-même. Par exemple:

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

Exemple 1: Vérifiez le numéro Armstrong pour un numéro à 3 chiffres

 public class Armstrong ( public static void main(String() args) ( int number = 371, originalNumber, remainder, result = 0; originalNumber = number; while (originalNumber != 0) ( remainder = originalNumber % 10; result += Math.pow(remainder, 3); originalNumber /= 10; ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Production

 371 est un nombre Armstrong.
  • Premièrement, la valeur d'un nombre donné (number) est stockée dans une autre variable entière, originalNumber. En effet, nous devons comparer les valeurs du nombre final et du nombre d'origine à la fin.
  • Ensuite, une boucle while est utilisée pour boucler sur originalNumber jusqu'à ce qu'il soit égal à 0.
    • À chaque itération, le dernier chiffre de num est stocké dans le reste.
    • Ensuite, le reste est alimenté par 3 (nombre de chiffres) en utilisant la Math.pow()fonction et ajouté au résultat.
    • Ensuite, le dernier chiffre est supprimé de originalNumber après la division par 10.
  • Enfin, le résultat et le nombre sont comparés. S'il est égal, c'est un nombre Armstrong. Sinon, ce n'est pas le cas.

Exemple 2: Vérifiez le numéro Armstrong pour n chiffres

 public class Armstrong ( public static void main(String() args) ( int number = 1634, originalNumber, remainder, result = 0, n = 0; originalNumber = number; for (;originalNumber != 0; originalNumber /= 10, ++n); originalNumber = number; for (;originalNumber != 0; originalNumber /= 10) ( remainder = originalNumber % 10; result += Math.pow(remainder, n); ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Production

 1634 est un nombre Armstrong.

Dans ce programme, au lieu d'utiliser la boucle while, nous avons utilisé deux boucles for.

La première boucle for est utilisée pour compter le nombre de chiffres dans le nombre. C'est la forme condensée de:

 pour (; originalNumber! = 0; originalNumber / = 10) (n ++;)

La seconde boucle for calcule alors le résultat où à chaque itération, le reste est alimenté par le nombre de chiffres n.

Visitez cette page pour savoir comment afficher tous les nombres armstrong entre deux intervalles.

Articles intéressants...