Program w C do znajdowania LCM dwóch liczb

W tym przykładzie nauczysz się obliczać LCM (Najniższa wspólna wielokrotność) dwóch liczb wprowadzonych przez użytkownika.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w C:

  • Operatorzy programowania C.
  • C if… else Statement
  • C while i zrób… while Loop

NWW dwóch liczb całkowitych n1 i n2 jest najmniejszą dodatnią liczbą całkowitą, która jest doskonale podzielna przez n1 i n2 (bez reszty). Na przykład LCM 72 i 120 wynosi 360.

LCM przy użyciu while i if

 #include int main() ( int n1, n2, max; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); // maximum number between n1 and n2 is stored in min max = (n1> n2) ? n1 : n2; while (1) ( if (max % n1 == 0 && max % n2 == 0) ( printf("The LCM of %d and %d is %d.", n1, n2, max); break; ) ++max; ) return 0; ) 

Wynik

 Wprowadź dwie dodatnie liczby całkowite: 72 120 NWW 72 i 120 wynosi 360. 

W programie tym liczby całkowite wprowadzone przez użytkownika są przechowywane odpowiednio w zmiennej n1 i n2.

Największa liczba spośród n1 i n2 jest przechowywana w max. NWW dwóch liczb nie może być mniejsze niż maks.

Testowe wyrażenie whilepętli jest zawsze prawdziwe.

W każdej iteracji sprawdzane jest, czy max jest doskonale podzielne przez n1 i n2.

 if (min% n1 == 0 && max% n2 == 0) (…) 

Jeśli ten warunek testu nie jest prawdziwy, wartość max jest zwiększana o, 1a iteracja jest kontynuowana, aż wyrażenie testowe ifinstrukcji będzie prawdziwe.

NWW dwóch liczb można również znaleźć za pomocą wzoru:

 LCM = (num1 * num2) / GCD 

Dowiedz się, jak znaleźć GCD dwóch liczb w programowaniu w C.

Obliczanie LCM przy użyciu GCD

 #include int main() ( int n1, n2, i, gcd, lcm; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); for (i = 1; i <= n1 && i <= n2; ++i) ( // check if i is a factor of both integers if (n1 % i == 0 && n2 % i == 0) gcd = i; ) lcm = (n1 * n2) / gcd; printf("The LCM of two numbers %d and %d is %d.", n1, n2, lcm); return 0; ) 

Wynik

 Wpisz dwie dodatnie liczby całkowite: 72 120 NWW dwóch liczb 72 i 120 wynosi 360. 

Interesujące artykuły...