В тази програма ще се научите да намирате lcm на две числа, като използвате GCD и като не използвате GCD. Това се прави с помощта на цикли for и while в Java.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:
- Java, ако … друго Изявление
- Java докато и да … докато Loop
LCM на две цели числа е най-малкото положително цяло число, което се дели идеално на двете числа (без остатък).
Пример 1: LCM, използвайки while Loop и if изявление
public class Main ( public static void main(String() args) ( int n1 = 72, n2 = 120, lcm; // maximum number between n1 and n2 is stored in lcm lcm = (n1> n2) ? n1 : n2; // Always true while(true) ( if( lcm % n1 == 0 && lcm % n2 == 0 ) ( System.out.printf("The LCM of %d and %d is %d.", n1, n2, lcm); break; ) ++lcm; ) ) )
Изход
LCM от 72 и 120 е 360.
В тази програма двете числа, чийто LCM трябва да бъде намерен, се съхраняват съответно в променливи n1 и n2.
След това първоначално зададохме lcm на най-голямото от двете числа. Това е така, защото LCM не може да бъде по-малко от най-големия брой.
Вътре в безкрайния цикъл while ( while(true)
) проверяваме дали lcm перфектно разделя n1 и n2 или не.
Ако го направи, намерихме LCM. Отпечатваме LCM и излизаме от цикъла while с помощта на break
инструкция.
В противен случай увеличаваме lcm с 1 и проверяваме отново условието за делимост.
Също така можем да използваме GCD, за да намерим LCM на две числа, като използваме следната формула:
LCM = (n1 * n2) / GCD
Ако не знаете как да изчислите GCD в Java, проверете Java Program, за да намерите GCD от две числа.
Пример 2: Изчислете LCM, като използвате GCD
public class Main ( public static void main(String() args) ( int n1 = 72, n2 = 120, gcd = 1; for(int i = 1; i <= n1 && i <= n2; ++i) ( // Checks if i is factor of both integers if(n1 % i == 0 && n2 % i == 0) gcd = i; ) int lcm = (n1 * n2) / gcd; System.out.printf("The LCM of %d and %d is %d.", n1, n2, lcm); ) )
Резултатът от тази програма е същият като пример 1.
Тук, в цикъла for, изчисляваме GCD на двете числа - n1 и n2. След изчислението използваме горната формула за изчисляване на LCM.