Java >> Tutoriel Java >  >> Java

Programme Java pour vérifier le numéro Armstrong

Dans ce tutoriel, nous allons apprendre à vérifier si le numéro est Armstrong ou non.

Un nombre de n chiffres est dit être un nombre d'Armstrong si la somme de chaque chiffre élevé à la puissance n est égale au nombre lui-même. par exemple, un nombre à 3 chiffres est dit être un nombre d'Armstrong si la somme des cubes du chiffre est égale au nombre lui-même.

Mais avant d'aller plus loin, si vous n'êtes pas familier avec le concept de boucles en Java, consultez l'article sur les boucles en Java

Entrée : Saisissez le numéro :153

Sortie : Oui le nombre saisi 153 est un nombre Armstrong.

Programme Java pour vérifier le numéro Armstrong

Dans ce programme, nous verrons comment savoir si un nombre est Armstrong ou non.

Algorithme :

  1. Démarrer

  2. Créez une instance de la classe Scanner.

  3. Déclarez une variable.

  4. Demandez à l'utilisateur d'initialiser le numéro.

  5. Définissez 3 méthodes, une pour vérifier Armstrong, une autre pour calculer la commande et une autre pour calculer la valeur élevée à la puissance.

  6. Calculez le nombre total de chiffres dans la fonction d'ordre à l'aide d'une boucle while.

  7. Calculez la valeur du chiffre élevé à la valeur de l'ordre de puissance.

  8. Dans la méthode isArmstrong, vérifiez si le nombre saisi est Armstrong ou non.

  9. Si trouvé Armstrong, alors retourne vrai sinon retourne faux.

  10. Si vrai, imprimez un message indiquant que le numéro saisi est un Armstrong.

  11. Si faux, imprimez un message indiquant que le numéro saisi n'est pas un Armstrong.

  12. Affichez le message.

  13. Arrêtez.

Vous trouverez ci-dessous le code Java pour vérifier le numéro Armstrong.

//Java Program to check Armstrong Number
import java.util.*;
public class checkArmstrong 
{ 
    int pow(int x, long y) 
    { 
        if( y == 0) 
            return 1; 
        if (y%2 == 0) 
            return pow(x, y/2)*pow(x, y/2); 
        return x*pow(x, y/2)*pow(x, y/2); 
    } 
    int order(int num) 
    { 
        int n = 0; 
        while (num != 0) 
        { 
            n++; 
            num = num/10; 
        } 
        return n; 
    } 
    boolean isArmstrong (int num) 
    { 
        // Calling order function 
        int n = order(num); 
        int temp=num, sum=0; 
        while (temp!=0) 
        { 
            int r = temp%10; 
            sum = sum + pow(r,n); 
            temp = temp/10; 
        }  
        // If satisfies Armstrong condition 
        return (sum == num); 
    } 
    // Driver Program 
    public static void main(String[] args) 
    { 
        //Take input from the user
        //Create an instance of the Scanner class
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the number ");
         int num = sc.nextInt(); 
       checkArmstrong obj = new checkArmstrong(); 
        
        if(obj.isArmstrong(num))
        {
            System.out.println("Yes "+num+" is an Armstrong number");
        }
        else
        {
            System.out.println(num+" is not an Armstrong number");
        }       
    } 
} 


Entrez le nombre 1634
Oui 1634 est un nombre Armstrong

Programme 2 :Vérifier le numéro Armstrong en Java

Dans ce programme, nous verrons comment trouver les nombres d'Armstrong entre 0 et 1000.

Algorithme :

  1. Démarrer

  2. Créez une instance de la classe Scanner.

  3. Déclarez deux variables pour la plage.

  4. Demandez à l'utilisateur d'initialiser la plage.

  5. Déclarez trois autres variables pour stocker le nombre, la somme et le chiffre d'origine.

  6. Utilisez une boucle for pour parcourir tous les éléments de cette plage.

  7. Initialisez la variable temporaire à la variable de boucle.

  8. Initialiser la somme à 0.

  9. Trouvez la somme des cubes de chaque chiffre.

  10. Vérifiez si la somme est égale au nombre d'origine.

  11. Si égal, alors le nombre est Armstrong.

  12. S'il n'est pas égal, alors le nombre n'est pas Armstrong.

  13. Affichez tous les numéros Armstrong.

  14. Arrêter

Vous trouverez ci-dessous le code Java pour vérifier le numéro Armstrong.

//Java Program to print all the Armstrong Number from 0 to 1000 
import java.util.*;
public class Main
{
     public static void main(String []args)
     {
       	//Take input from the user
        //Create an instance of the Scanner class
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the starting range: ");
        int num1=sc.nextInt();
        System.out.println("Enter the ending range: ");
        int num2=sc.nextInt();
       	int temp, digit, sum;
 
        for (int i = num1; i < num2; i++) {
            temp = i;
            sum = 0;
            while (temp != 0) 
            {
                digit = temp % 10;
                sum = sum + digit * digit * digit;
                temp /= 10;
 
            }
            if (sum == i)
                System.out.println(i + " is an Armstrong Number");
        }      
     }
}


Entrez la plage de départ :0
Entrez la plage de fin :1000
0 est un nombre Armstrong
1 est un nombre Armstrong
153 est un nombre Armstrong
370 est un nombre Armstrong
371 est un nombre Armstrong
407 est un nombre Armstrong


Balise Java