Java >> Tutoriel Java >  >> Java

Numéro de Harshad en Java

Dans cet article, nous allons développer un programme Java pour vérifier si le numéro donné est un numéro Harshad ou non ? Nous trouverons également tous les numéros Harshad qui appartiennent à une plage donnée. Plus tard, nous développerons un autre programme Java pour vérifier plusieurs numéros Harshad.

En mathématiques, un nombre de Harshad dans une base numérique donnée est un nombre entier divisible par la somme de ses chiffres lorsqu'il est écrit dans cette base. Le numéro Harshad est également appelé numéro Niven . Il porte le nom de DR Kaprekar.

Programme Java pour vérifier que le numéro donné est un numéro Harshad ou non

import java.util.Scanner;

public class HarshadNumber {

   // method to check number is 
   // harshad number or not
   public static boolean isHarshad(int number) {

      // calculate sum of digits of the number
      int digitSum = sumOfDigits(number);

      if(number % digitSum == 0)
         return true;

      return false;
   }

   private static int sumOfDigits(int number) {

      int sum = 0;

      while(number != 0) {
        // add last digit to sum
        sum += number%10;

        // remove last digit
        number /= 10;
      }

      return sum;
   }

   public static void main(String[] args) {

      // declare variables
      int number = 0;
      boolean result = false;

      //create Scanner class object to take input
      Scanner scan = new Scanner(System.in);

      // take input from end-user
      System.out.print("Enter an integer number:: ");
      number = scan.nextInt();

      // check number is harshad number or not
      result = isHarshad(number);
      if(result)
      System.out.println(number +
                  " is a Harshad number");
      else
      System.out.println(number +
                  " is not a Harshad number");

      // close Scanner class object
      scan.close();
   }
}

La sortie pour les différents cas de test :-

Entrez un nombre entier ::9
9 est un nombre Harshad

Entrez un nombre entier ::11
11 n'est pas un nombre Harshad

Entrez un nombre entier ::378
378 est un nombre Harshad

Voir également :- Numéro spécial, Numéro magique, Numéro Armstrong, Numéro parfait, Numéro maléfique, Numéro espion, Numéro ensoleillé en Java

Programme Java pour trouver tous les numéros Harshad dans une plage donnée

import java.util.Scanner;

public class HarshadNumberInRange {

   // method to check number is 
   // Harshad number or not
   public static boolean isHarshad(int number) {

      // calculate sum of digits of the number
      int digitSum = sumOfDigits(number);

      if(number % digitSum == 0)
         return true;

      return false;
   }

   // method to find sum of digits
   private static int sumOfDigits(int number) {
      int sum = 0;

      while(number != 0) {
         // add last digit to sum
         sum += number%10;

         // remove last digit
         number /= 10;
      }

      return sum;
   }

   public static void main(String[] args) {

      // declare variables
      int minRange = 0, maxRange = 0;

      // create Scanner class object
      Scanner scan = new Scanner(System.in);

      // read inputs
      System.out.print("Enter min value of range:: ");
      minRange = scan.nextInt();
      System.out.print("Enter max value of range:: ");
      maxRange = scan.nextInt();

      // find all harshad number
      System.out.println("The Harshad numbers from "+
                minRange+" to "+ maxRange+" are:: ");

      for(int i=minRange; i<=maxRange; i++) {
         if(isHarshad(i))
            System.out.print(i+" ");
      }

      // close Scanner class object
      scan.close();
   }
}

Sortie :-

Entrez la valeur minimale de la plage : 1
Entrez la valeur maximale de la plage : 100
Les nombres Harshad de 1 à 100 sont : :
1 2 3 4 5 6 7 8 9 10 12 18 20 21 24 27 30 36 40 42 45 48 50 54 60 63 70 72 80 81 84 90 100

Plusieurs numéros Harshad en Java

Lorsqu'un nombre Harshad est divisé par la somme de chiffres et produit un autre nombre Harshad, alors le nombre est appelé un nombre Harshad multiple . Des exemples de numéros Harshad multiples sont :- 7, 21, 378 et 6804

Exemple :-
nombre =6804
Somme des chiffres =6+8+0+4 =18
6804 / 18 =378, donc 6804 est un nombre Harshad.
Maintenant, la somme des chiffres de 378 =18
378 / 18 =21 Donc, 378 est aussi un nombre de Harshad.

Par conséquent, le nombre 6804 est un nombre multiple de Harshad .

Programme Java pour vérifier plusieurs numéros Harshad

import java.util.Scanner;

public class MultipleHarshadNumber {

   // method to check number is 
   // harshad number or not
   public static boolean isHarshad(int number) {

      // calculate sum of digits of the number
      int digitSum = sumOfDigits(number);

      if(number % digitSum == 0)
         return true;

      return false;
   }

   // method to find sum of digits
   private static int sumOfDigits(int number) {

      int sum = 0;
      while(number != 0) {
         // add last digit to sum
         sum += number%10;

         // remove last digit
         number /= 10;
      }

      return sum;
   }

   // method to check number is 
   // multiple Harshad number or not
   public static boolean isMultipleHarshad(int number) {

      // first of all check the given 
      // number is harshad number or not
      if(! isHarshad(number))
      return false;

      // find sum of digits
      int sum = sumOfDigits(number);

      // find result after dividing 
      // by the sum of digits
      int newNumber = number/sum;

      // check new number is harshad number
      if(isHarshad(newNumber))
      return true;

      return false;
   }

   public static void main(String[] args) {

      // declare variables
      int number = 0;
      boolean result = false;

      //create Scanner class object to take input
      Scanner scan = new Scanner(System.in);

      // take input from end-user
      System.out.print("Enter an integer number:: ");
      number = scan.nextInt();

      // check number is Harshad number or not
      result = isHarshad(number);

      // display result
      if(result)
      System.out.println(number +
           " is a multiple Harshad number");
      else
      System.out.println(number +
           " is not a multiple Harshad number");

      // close Scanner class object
      scan.close();
   }
}

Sortie :-

Entrez un nombre entier ::21
21 est un nombre Harshad multiple

Entrez un nombre entier ::6805
6805 n'est pas un nombre Harshad multiple


Balise Java