Java >> Tutoriel Java >  >> Java

Java LCM de tableau

LCM Java du tableau | Dans cette section, nous trouverons le LCM du tableau dans le langage de programmation Java. LCM représente le multiple commun le plus bas.

Avant de voir le LCM d'un tableau, voyons d'abord comment calculer le LCM de 2 nombres en Java. Voir aussi :- HCF de deux nombres en Java

Étapes pour trouver le LCM du tableau en Java :-

Étape 1 :- Prenez deux nombres.
Étape 2 :- Énumérez les multiples de deux nombres.
Étape 3 :- Trouvez le plus petit multiple commun, appelé LCM.

La formule pour trouver le LCM est :- LCM(a,b) =a*b/GCD(a,b)

Où :-
LCM :- Plus petit commun multiple
a, b :- Deux nombres nécessaires pour trouver LCM
PGCD :- Plus grand diviseur commun

Étapes pour trouver GCD(a,b) :-

Étape 1 :- Trouvez le diviseur de l'entier positif 'a'.
Étape 2 :- Trouvez le diviseur de l'entier positif 'b'.
Étape 3 :- Énumérez les facteurs communs de 'a' et 'b'.
Étape 4 :- Le plus grand diviseur de 'a' et 'b' est PGCD.

Il existe deux méthodes pour trouver LCM,
1) En trouvant plusieurs
2) En trouvant GCD

Programme pour trouver LCM d'un tableau en Java en trouvant des multiples

import java.util.Arrays;

public class Main {

   public static long lcm(int[] elements) {
      long lcm = 1;
      int divisor = 2;

      while (true) {
         int counter = 0;
         boolean divisible = false;

         for (int i = 0; i < elements.length; i++) {
            if (elements[i] == 0) {
               return 0;
            } else if (elements[i] < 0) {
               elements[i] = elements[i] * (-1);
            }

            if (elements[i] == 1) {
               counter++;
            }

            if (elements[i] % divisor == 0) {
               divisible = true;
               elements[i] = elements[i] / divisor;
            }
         }

         if (divisible) {
            lcm = lcm * divisor;
         } else {
            divisor++;
         }

         if (counter == elements.length) {
            return lcm;
         }
      }
   }

   public static void main(String[] args) {
      int[] array1 = { 21, 17, 13, 19, 41 };
      System.out.println("Array: " + Arrays.toString(array1));
      System.out.println("LCM = " + lcm(array1));

      int[] array2 = { 9, 18, 27, 36, 54 };
      System.out.println("Array: " + Arrays.toString(array2));
      System.out.println("LCM = " + lcm(array2));
   }
}

Sortie :-

Tableau :[21, 17, 13, 19, 41]
LCM =3615339
Tableau :[9, 18, 27, 36, 54]
LCM =108

Java LCM Of Array utilisant la récursivité et GCD

import java.util.Arrays;

public class Main {

   public static int gcd(int num1, int num2) {
      return num2 == 0 ? num1 : gcd(num2, num1 % num2);
   }

   public static int lcm(int[] array, int index) {
      if (index == array.length - 1) {
         return array[index];
      }
      int a = array[index];
      int b = lcm(array, index + 1);
      return (a * b / gcd(a, b));
   }

   public static void main(String[] args) {
      int[] array1 = { 21, 17, 13, 19, 41 };
      System.out.println("Array: " + Arrays.toString(array1));
      System.out.println("LCM = " + lcm(array1, 0));

      int[] array2 = { 9, 18, 27, 36, 54 };
      System.out.println("Array: " + Arrays.toString(array2));
      System.out.println("LCM = " + lcm(array2, 0));
   }
}

Sortie :-

Tableau :[21, 17, 13, 19, 41]
LCM =3615339
Tableau :[9, 18, 27, 36, 54]
LCM =108

Dans le programme ci-dessus, nous avons utilisé la technique de récursivité pour trouver LCM d'un tableau en Java. Dans la méthode principale, nous avons utilisé la méthode Arrays.toString() de la classe Java Arrays pour afficher le tableau.


Balise Java