Comment vérifier les numéros d'Armstrong en Java ?

Comment Verifier Les Numeros D Armstrong En Java



Le ' Numéro d'Armstrong ” donne un aperçu des modèles de nombres et des propriétés mathématiques. Il aide à comprendre les concepts de la théorie des nombres et à explorer les relations autoréférentielles au sein des nombres. En outre, cela aide à garantir l'exactitude des données ou des entrées de l'utilisateur. Cela peut être utile lorsque l'intégrité des entrées est cruciale.

Ce blog aide à trouver le numéro Armstrong pour les données fournies.







Comment vérifier les numéros Armstrong en Java ?

Le ' Numéro d'Armstrong ” est coché pour identifier les nombres qui satisfont une propriété mathématique spécifique. Si la valeur fournie est la même que l'addition de ses propres entiers élevés à la puissance du nombre total d'entiers de la valeur fournie.



Maintenant, visitons quelques exemples pour plus de compréhension :



Exemple 1 : Identification des nombres d'Armstrong





Visitez le programme pour vérifier si le numéro fourni est le numéro Armstrong ou non :

importer java.util.Scanner ;
// Importation des utilitaires requis.
classe publique ArmstrongChecker {
public statique vide principal ( Chaîne [ ] arguments )
// Déclarer le principal ( ) méthode
{
Test de démonstration du scanner = nouveau scanner ( System.in ) ;
System.out.print ( 'Entrez le numéro à vérifier : ' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle ;
entier chiffres = 0 ;
alors que ( numOrig ! = 0 ) {
numOrig / = dix ;
chiffres++ ;
}

entier somme = 0 ;
int temp = numEle ;
pour ( int je = 0 ; je < chiffres ; je++ ) {
entier toi = température % dix ;
somme += Math.pow ( toi , chiffres ) ;
temp / = dix ;
}

si ( somme == noms ) {
System.out.println ( noms + ' est un nombre d'Armstrong.' ) ;
} autre {
System.out.println ( noms + ' ne satisfait pas la condition pour le numéro d'Armstrong.' ) ;
}
}
}


Description du code ci-dessus :



    • Tout d'abord, l'objet pour le ' Scanner ' La classe est créée pour récupérer un entier de l'utilisateur final à l'aide de la ' nextInt() ' et stocker les données récupérées dans une variable nommée ' Des noms ”.
    • Ensuite, cette valeur récupérée est affectée à la variable de type int nommée ' numOrig ' et initialise une variable nommée ' chiffres ' avec ' 0 ”.
    • Puis le ' alors que ” boucle est utilisée qui divise à plusieurs reprises origNum par 10 et incrémente la variable digits à chaque fois jusqu'à ce que origNum devienne 0.
    • Après cela, déclarez une variable ' somme ' et définissez la valeur de ' Des noms ' au ' temp ” variables. Et utilise le ' pour ' boucle qui itère jusqu'à la ' chiffres ” valeur variable.
    • Et dans chaque itération de la boucle 'for', le dernier chiffre de ' temp ' est extrait à l'aide de l'opérateur de module et stocké dans une nouvelle variable ' toi ”. Ensuite, le cube du chiffre est alors ajouté au ' somme ” variable en utilisant la méthode Math.pow().
    • Au final, le « sinon ” est utilisée pour déterminer si la somme calculée est égale au nombre original fourni par l'utilisateur. Si les deux valeurs sont égales, alors le nombre fourni est un nombre d'Armstrong et vice versa.

Après compilation :


La sortie indique que le numéro fourni est un numéro Armstrong.

Exemple 2 : Trouver tous les numéros Armstrong résidants dans la limite indiquée

Pour trouver tous les numéros Armstrong à la valeur ou à la limite fournie, visitez le code ci-dessous :

importer java.util.Scanner ;
importer java.lang.Math ;

classe publique ArmstsrongNumberExample
{
booléen statique isArmsNum ( entier j ) {
int chamois, chanterDig = 0 , fin = 0 , calc = 0 ;
chamois =j;
alors que ( chamois > 0 ) {
chamois = chamois / dix ;
chanterDig++ ;
}
chamois = j ;
alors que ( chamois > 0 )
{
fin = chamois % dix ;
calcul += ( Math.pow ( fin, chanteDig ) ) ;
chamois = chamois / dix ;
}
si ( j ==calc )
retour vrai ;
autre retour FAUX ;
}
public statique vide principal ( Arguments de chaîne [ ] )
// Déclarer le principal ( ) méthode
{
int proNum ;
Scanner sc = nouveau numériseur ( System.in ) ;
System.out.print ( 'Insérer la limite supérieure : ' ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( 'Numéro Armstrong jusqu'à la limite fournie' + proNum + ' sont: ' ) ;
pour ( entier k = 0 ; k < =pourNum ; k++ )
si ( isArmsNum ( k ) )
System.out.print ( k+ ', ' ) ;
}
}


Explication du code ci-dessus :

    • Tout d'abord, déclarez plusieurs variables 'buff', 'singDig', 'end' et 'calc' ayant un type de ' entier ', à l'intérieur de la méthode de type booléen nommée' isArmsNum() ”. Il reçoit un paramètre qui est affecté à la variable nommée ' chamois ”.
    • Ensuite, le « alors que ' une boucle est déclarée qui itère jusqu'à ce que la valeur de buff atteigne ' 0 ”. Après cela, le « chamois ' est le module par ' dix ' pour supprimer le dernier chiffre de la valeur fournie et incrémente le ' chanterDig ” variables.
    • Puis le ' alors que ' la boucle est utilisée à nouveau sur le ' chamois ” variable pour extraire le dernier chiffre. Le cube du chiffre est calculé en utilisant le ' Mathématiques. pow() ' et ensuite ajouté à la ' calc ” variables.
    • Maintenant le ' si » est utilisée pour vérifier si la valeur calculée dans la « calc ” est égale ou non à la valeur fournie par l'utilisateur final. Affichez également le message en conséquence.
    • Après cela, l'entrée de l'utilisateur final est récupérée à l'aide du ' Scanner ' utilité dans le ' principal() ' méthode.
    • Au final, le « pour La boucle ' est utilisée pour itérer jusqu'à la valeur fournie, et chaque itération est appelée ' isArmsNum() ' méthode. Cette méthode reçoit toutes les valeurs jusqu'à ce que la valeur fournie soit atteinte et vérifie chaque valeur pour le nombre Armstrong.

Après compilation :


La sortie affiche tous les nombres Armstrong jusqu'à la valeur fournie qui est ' 370 ' dans ce cas.

Conclusion

Pour trouver un numéro Armstrong, commencez par compter les chiffres que contient le numéro fourni. Ensuite, extrayez chaque chiffre du nombre fourni un par un à l'aide d'opérations de module et de division. Ensuite, élevez chaque entier de la valeur à la puissance du nombre total d'entiers et ajoutez la valeur résultante à une nouvelle variable. Enfin, vérifiez si la valeur de la variable obtenue est égale au nombre fourni, si elle est égale alors le nombre fourni est un nombre d'Armstrong, sinon non.