Quel est le nombre d'Armstrong en Java ? C'est les prérequis et l'algorithme

Publié: 2021-04-08

Table des matières

Qu'est-ce que le nombre d'Armstrong ?

Un nombre donné x est appelé nombre d'Armstrong d'ordre n s'il est égal à la somme de ses chiffres élevée à la puissance n, c'est-à-dire :

abc= pow(a,n) + pow(b,n) + pow(c,n)

Un entier positif de n chiffres est un nombre d'Armstrong (d'ordre 3) s'il est égal à la somme des cubes de ses chiffres. Par exemple:

Entrée : 153

Sortie : Oui

1*1*1 + 5*5*5 + 3*3*3 = 153

Ainsi, 153 est un nombre d'Armstrong

Entrée : 121

Sortie : Non

1*1*1 + 2*2*2 + 1*1*1 = 10

Ainsi, 120 n'est pas un nombre d'Armstrong.

Prérequis et algorithme

Dans cet article, nous apprendrons à vérifier si un nombre d'entrée est un nombre d'Armstrong ou non. Pour cela, nous allons utiliser une boucle while et une boucle for en Java. Pour comprendre ce programme, nous avons besoin de connaître les sujets suivants en Java :

  • Instruction Java if-else
  • Java pour la boucle
  • Boucle Java while et do-while

Algorithme:

  1. Prendre une variable entière x
  2. La valeur est affectée à la variable x
  3. Les chiffres de la valeur sont séparés
  4. La valeur cubique de chaque chiffre est trouvée
  5. Ajouter les valeurs de tous les cubes
  6. La sortie est enregistrée dans la variable somme
  7. Si somme=X, imprimer le numéro d'Armstrong

Si somme != X, n'imprimez pas le nombre d'Armstrong

Programme pour vérifier le numéro Armstrong en Java

1. Nombre d'Armstrong en Java d'ordre 3

Code:

classe publique Armstrong{

public static void main(String[] args) {

int x=0,a,temp;

int n=153;//C'est le nombre à vérifier Armstrong

temp=n ;

tandis que(n>0)

{

a=n%10 ;

n=n/10 ;

x=x+(a*a*a);

}

si(temp==x)

System.out.println ("numéro d'Armstrong");

autre

System.out.println("Pas de numéro Armstrong");

}

}

Sortir:

Explication

Tout d'abord, la valeur d'un nombre N donné est stockée dans une autre variable entière, x. Ceci est fait car nous devons comparer les valeurs du nombre d'origine et du nombre final à la fin. Une boucle while est utilisée pour parcourir le nombre N jusqu'à ce qu'il soit égal à 0. À chaque itération, le dernier chiffre de N est stocké dans a.

Ensuite, le résultat est calculé en cubant a ou en utilisant Math. pow() et en l'ajoutant à x. Lorsque le dernier chiffre est supprimé de N, il est divisé par 10. Enfin =, temp et X sont comparés. S'ils sont égaux, c'est un nombre d'Armstrong. Sinon, ce n'est pas le cas.

2. Nombre d'Armstrong en Java d'ordre n

Code:

classe publique Armstrong

{

/* Fonction pour calculer a élevé au

puissance b */

int power(int a, long b)

{

si( b == 0)

retour 1 ;

si (b%2 == 0)

renvoie puissance(a, b/2)*puissance(a, b/2);

renvoie a*puissance(a, b/2)*puissance(a, b/2);

}

/* Fonction pour calculer l'ordre du nombre */

int ordre(int a)

{

entier n = 0 ;

tandis que (a != 0)

{

n++ ;

a = a/10 ;

}

retour n;

}

// Fonction pour vérifier si le nombre donné est le nombre d'Armstrong ou non

booléen Armstrong (int a)

{

// Appel de la fonction de commande

int n = ordre(a);

int temp=a, somme=0 ;

tant que (temp!=0)

{

entier r = temp%10 ;

somme = somme + puissance(r,n);

temp = temp/10 ;

}

// S'il satisfait la condition d'Armstrong

retour (somme == a);

}

// Programme de pilote

public static void main(String[] args)

{

Armstrong obj = new Armstrong();

int a = 153 ;

System.out.println(obj.isArmstrong(a));

un = 1276 ;

System.out.println(obj.isArmstrong(a));

}

}

Sortie :

Explication

Dans ce programme, au lieu d'une boucle while, nous avons utilisé la récursivité. La première fonction permet de calculer un nombre a élevé à la puissance b. Math.pow(a,b) peut également être utilisé pour la même chose. La deuxième fonction vérifie l'ordre du nombre, par exemple, 153 est d'ordre 3. Enfin, une fonction booléenne Armstrong est utilisée pour retourner si le nombre est Armstrong ou non. Ensuite, un objet de la classe Armstrong est utilisé pour appeler les fonctions.

Programme Java pour imprimer les nombres d'Armstrong dans la plage donnée

Code:

classe publique Armstrong

{

public static void main(String[] arg)

{

int i=0,x ;

System.out.println("Les nombres d'Armstrong entre 0 et 999");

tandis que(i<1000)

{

x=armstrongOrNot(i);

si(x==i)

System.out.println(i);

je++ ;

}

}

statique int armstrongOrNot(int n)

{

entier c,a=0 ;

tandis que(n!=0)

{

c=n%10 ;

a=a+(c*c*c);

n/=10 ;

}

retourner un ;

}

}

Sortir:

Explication : Dans ce programme, chaque nombre entre l'intervalle inférieur et supérieur donné est vérifié. Après chaque vérification, la somme et le nombre de chiffres sont remis à 0.

Conclusion

Dans cet article, nous avons couvert en détail un nombre Armstrong en Java. Nous avons vu comment vérifier si un nombre est un nombre d'Armstrong d'ordre n et d'ordre 3. Nous avons également vu comment obtenir tous les nombres d'Armstrong entre une borne inférieure et une borne supérieure.

Si vous souhaitez améliorer vos compétences en Java, vous devez mettre la main sur ces projets Java. Si vous souhaitez en savoir plus sur Java, le développement full-stack, consultez le programme Executive PG de upGrad & IIIT-B en développement logiciel full-stack, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets. et affectations, statut d'ancien élève de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Si vous cherchez à en savoir plus sur Java et à progresser dans votre carrière technique, explorez le cours en ligne gratuit de Java par la plus grande société d'enseignement supérieur en ligne de l'Inde, upGrad. Contactez-nous pour plus de détails.

Devenir Développeur Full Stack

MISE À NIVEAU ET DIPLÔME PG DE L'IIIT-BANGALORE EN DÉVELOPPEMENT LOGICIEL
INSCRIVEZ-VOUS MAINTENANT @ UPGRAD