Maison > Java > javaDidacticiel > Comment vérifier si un numéro est un numéro Harshad en Java ?

Comment vérifier si un numéro est un numéro Harshad en Java ?

王林
Libérer: 2023-09-24 21:01:08
avant
1177 Les gens l'ont consulté

Comment vérifier si un numéro est un numéro Harshad en Java ?

Le nombre Harshad est divisible par la somme de ses chiffres. En termes simples, si la somme de tous les chiffres d’un nombre est un facteur de ce nombre, alors c’est un nombre Harshad.

Dans cet article, nous verrons comment vérifier le numéro Harshad à l'aide du langage de programmation Java.

Montrez quelques exemples

Exemple 1

Entrez le numéro 18

Vérifions-le en utilisant la logique du nombre Harshad −

La somme des chiffres du nombre = 1 + 8 = 9.

Donc, 18 est divisible par 9.

Par conséquent, 18 est un nombre Harshad.

La traduction de

Instance-2

est :

Instance-2

Le numéro saisi est le 3

Vérifions-le en utilisant la logique du nombre Harshad −

La somme des chiffres du nombre = 3.

Donc, 3 est divisible par 3.

Ainsi, 3 est le nombre Harshad.

La traduction chinoise de

Instance-3

est :

Instance-3

Entrez le numéro 15

Vérifions-le en utilisant la logique du nombre Harshad −

La somme des chiffres du nombre = 1 + 5 = 6.

Donc, 15 n'est pas divisible par 6.

Par conséquent, 14 n’est pas un nombre Harshad.

Quelques autres exemples de nombres Harshad incluent 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 18, 20, etc.

Grammaire

Convertissez une valeur entière en valeur de chaîne à l'aide de la méthode intégrée toString().

Voici la syntaxe pour convertir une valeur entière en valeur de chaîne, puis trouver sa longueur et attribuer la longueur à une variable entière pour obtenir le nombre total de chiffres dans un nombre -

String str = Integer.toString(input_number);
Copier après la connexion

Pour obtenir la longueur d'un entier, nous utiliserons la méthode intégrée length() de la classe Java String La méthode renvoie la longueur de l’objet String.

int length = st.length();
Copier après la connexion

Pour obtenir le caractère à une position/index spécifique dans une chaîne, nous utilisons la méthode charAt() . où charAt(i)-'0' renvoie la valeur entière réelle.

int num = st.charAt(i)-‘0’;
Copier après la connexion

Où "st" fait référence à la chaîne et "i" est la variable itératrice qui parcourt la chaîne.

Algorithme

Algorithme 1

  • Étape 1 - Obtenez un entier via l'initialisation ou la saisie de l'utilisateur.

  • Étape 2 - Trouvez la somme de chaque chiffre du nombre en parcourant chaque chiffre du nombre.

  • Étape 3 - Vérifiez ensuite si le numéro d'origine est divisible par la somme de tous les chiffres du numéro. Le nombre donné est un nombre Harshad s'il est divisible, sinon ce n'est pas un nombre Harshad

Algorithme 2

  • Étape 1 - Obtenez un entier via l'initialisation ou la saisie de l'utilisateur.

  • Étape 2 - Convertissez l'entier en chaîne à l'aide de la méthode intégrée toString().

  • Étape 3 - Trouvez la longueur de la chaîne en utilisant la méthode intégrée length().

  • Étape 4 - Ensuite, en utilisant une boucle for, parcourez jusqu'à la longueur de la chaîne et utilisez charAt(i)-' pour obtenir une valeur entière 0' de la chaîne et enregistrez la somme de tous les nombres.

  • Étape 5 - Vérifiez ensuite si le numéro d'origine est divisible par la somme de tous les chiffres de ce numéro. Le nombre donné est un nombre Harshad s'il est divisible, sinon ce n'est pas un nombre Harshad.

Méthodes multiples

Nous proposons des solutions de différentes manières

  • Ne pas utiliser de ficelles

  • En utilisant des chaînes

Regardons le programme et sa sortie un par un.

Méthode 1 : Sans utiliser de chaînes

Dans cette méthode, une valeur entière sera initialisée dans le programme puis en utilisant

Algorithme-1 nous pourrons vérifier si un nombre est un nombre Harshad.

Exemple

public class Main{
   //main method
   public static void main(String args[]){

      //Declared an integer variable and initialized a number as value
      int originalNumber = 21;

      //printing the given number to be checked
      System.out.println("Given number: "+originalNumber);

      //keep a copy of original number
      int copyOfOriginalNumber = originalNumber;

      //initialize sum as 0
      int sum = 0;

      //Find sum of all digits of the number
      //continue the loop till the number is greater than 0
      while(originalNumber > 0){

         //get the rightmost digit of the number by using % operator
         int rem = originalNumber%10;

         //add the digit(rem) to sum
         sum = sum + rem;

         //remove the rightmost digit from number and get the updated number
         originalNumber = originalNumber/10;
      }

      //printing the result
      if(copyOfOriginalNumber % sum == 0)
         System.out.println(copyOfOriginalNumber+" is a Harshadnumber");
      else
         System.out.println(copyOfOriginalNumber+" is not a Harshadnumber");
   }
}
Copier après la connexion

Sortie

Given number: 21
21 is a Harshad number
Copier après la connexion

Méthode 2 : Utiliser des chaînes

Dans cette méthode, une valeur entière sera initialisée dans le programme puis, en utilisant l'algorithme-2, nous vérifierons si le nombre est un nombre Harshad ou non.

Exemple

public class Main{
   //main method
   public static void main(String args[]){

      //Declared an integer variable and initialized a number as value
      int originalNumber = 40;

      //printing the given number to be checked
      System.out.println("Given number: "+originalNumber);

      //keep a copy of original number
      int copyOfOriginalNumber = originalNumber;

      //initialize sum as 0
      int sum = 0;

      //convert the integer to string by using toString() method
      String str = Integer.toString(originalNumber);
       
      //find length of String by using length() method
      //which is nothing but total number of digits in the given number
      int length=str.length();
       
      //iterate the String and get the digits by using charAt(i)-'0'
      //find the sum of digits
      for(int i = 0; i < length; i++){
         sum += str.charAt(i)-'0';
      }

      //printing the result 
      if(copyOfOriginalNumber % sum == 0)
         System.out.println(copyOfOriginalNumber+" is a Harshad number");
      else
         System.out.println(copyOfOriginalNumber+" is not a Harshad number");      
   }
}
Copier après la connexion

Sortie

Given number: 40
40 is a Harshad number
Copier après la connexion
Dans cet article, nous avons exploré comment vérifier si un nombre est un nombre Harshad en Java en utilisant différentes méthodes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal