Matematyka jest istotną częścią programowania i informatyki. Jest to rdzeń każdego dobrego algorytmu i zapewnia zestaw umiejętności analitycznych wymaganych w programowaniu.

Algorytmy matematyczne są również bardzo ważnym tematem w programowaniu wywiadów. W tym artykule dowiesz się, jak znaleźć GCD i LCM dwóch liczb za pomocą C++, Pythona, C i JavaScript.

Jak znaleźć NWD dwóch liczb

Największy wspólny dzielnik (GCD) lub najwyższy wspólny dzielnik (HCF) dwóch liczb to największa dodatnia liczba całkowita, która doskonale dzieli te dwie liczby. Możesz znaleźć NWD dwóch liczb za pomocą algorytmu Euklidesa.

W algorytmie euklidesowym większa liczba jest dzielona przez mniejszą liczbę, a następnie mniejsza liczba jest dzielona przez resztę poprzedniej operacji. Ten proces jest powtarzany, aż reszta wynosi 0.

Na przykład, jeśli chcesz znaleźć GCD 75 i 50, musisz wykonać następujące kroki:

  • Podziel większą liczbę przez mniejszą i weź resztę.
75 % 50 = 25
  • Podziel mniejszą liczbę przez resztę poprzedniej operacji.
instagram viewer
50 % 25 = 0
  • Teraz reszta wynosi 0, więc NWD 75 i 50 wynosi 25.

Program C++ do znajdowania GCD dwóch liczb

Poniżej znajduje się program C++ do znalezienia GCD dwóch liczb:

// C++ program do wyszukiwania GCD/HCF z 2 liczb
#zawierać
używając standardowej przestrzeni nazw;
// Funkcja rekursywna do znalezienia GCD/HCF z 2 liczb
int obliczGCD(int num1, int num2)
{
jeśli (liczba2==0)
{
zwróć num1;
}
jeszcze
{
zwróć obliczyćGCD(num2, num1%num2);
}
}
// Kod kierowcy
int main()
{
int liczba1 = 34, liczba2 = 22;
cout << "GCD z " << num1 << " i " << num2 << " to " << obliczGCD(num1, num2) << endl;
int liczba3 = 10, liczba4 = 2;
cout << "GCD z " << num3 << " i " << num4 << " to " << obliczGCD(num3, num4) << endl;
int liczba5 = 88, liczba6 = 11;
cout << "GCD z " << num5 << " i " << num6 << " to " << obliczGCD(num5, num6) << endl;
int liczba7 = 40, liczba8 = 32;
cout << "GCD z " << num7 << " i " << num8 << " to " << obliczGCD(num7, num8) << endl;
int liczba9 = 75, liczba10 = 50;
cout << "GCD z " << num9 << " i " << num10 << " to " << obliczGCD(num9, num10) << endl;
zwróć 0;
}

Wynik:

NWD 34 i 22 to 2
GCD 10 i 2 to 2
GCD 88 i 11 to 11
GCD 40 i 32 to 8
GCD 75 i 50 to 25

Program Pythona do znajdowania GCD dwóch liczb

Poniżej znajduje się program Pythona do znalezienia GCD dwóch liczb:

Związane z: Co to jest rekurencja i jak z niej korzystać?

# Program w Pythonie do znajdowania GCD/HCF z 2 liczb
def obliczGCD(num1, num2):
jeśli liczba2==0:
zwróć num1
jeszcze:
zwróć obliczGCD(num2, num1%num2)
# Kod kierowcy
liczba1 = 34
liczba2 = 22
print("GCD z", num1, "i", num2, "jest", obliczGCD(num1, num2))
num3 = 10
liczba4 = 2
print("NWZ", num3, "i", num4, "jest", obliczGCD(num3, num4))
num5 = 88
num6 = 11
print("NWZ", num5, "i", num6, "jest", obliczGCD(num5, num6))
num7 = 40
liczba8 = 32
print("NWP z", num7, "i", num8, "jest", obliczGCD(num7, num8))
num9 = 75
liczba10 = 50
print("NWZ", num9, "i", num10, "jest", obliczGCD(num9, num10))

Wynik:

NWD 34 i 22 to 2
GCD 10 i 2 to 2
GCD 88 i 11 to 11
GCD 40 i 32 to 8
GCD 75 i 50 to 25

Program C do znajdowania NWD dwóch liczb

Poniżej znajduje się program w C do znalezienia GCD dwóch liczb:

// Program C do znalezienia GCD/HCF z 2 liczb
#zawierać
// Funkcja rekursywna do znalezienia GCD/HCF z 2 liczb
int obliczGCD(int num1, int num2)
{
jeśli (liczba2==0)
{
zwróć num1;
}
jeszcze
{
zwróć obliczyćGCD(num2, num1%num2);
}
}
// Kod kierowcy
int main()
{
int liczba1 = 34, liczba2 = 22;
printf("GCD %d i %d to %d \⁠⁠n", num1, num2, obliczGCD(num1, num2));
int liczba3 = 10, liczba4 = 2;
printf("GCD %d i %d to %d \⁠⁠n", num3, num4, obliczGCD(num3, num4));
int liczba5 = 88, liczba6 = 11;
printf("GCD %d i %d to %d \⁠⁠n", num5, num6, obliczGCD(num5, num6));
int liczba7 = 40, liczba8 = 32;
printf("NWZ %d i %d to %d \⁠⁠n", num7, num8, obliczGCD(num7, num8));
int liczba9 = 75, liczba10 = 50;
printf("GCD %d i %d to %d \⁠⁠n", num9, num10, obliczGCD(num9, num10));
zwróć 0;
}

Wynik:

NWD 34 i 22 to 2
GCD 10 i 2 to 2
GCD 88 i 11 to 11
GCD 40 i 32 to 8
GCD 75 i 50 to 25

Program JavaScript do znajdowania GCD dwóch liczb

Poniżej znajduje się JavaScript program do znalezienia GCD dwóch liczb:

// program JavaScript do wyszukiwania GCD/HCF z 2 liczb
// Funkcja rekursywna do znalezienia GCD/HCF z 2 liczb
funkcja obliczGCD(num1, num2) {
jeśli (liczba2==0)
{
zwróć num1;
}
jeszcze
{
zwróć obliczyćGCD(num2, num1%num2);
}
}
// Kod kierowcy
zmienna liczba1 = 34, liczba2 = 22;
document.write("GCD z " + num1 + " i " + num2 + " to " + obliczGCD(num1, num2) + "
");
zmienna liczba3 = 10, liczba4 = 2;
document.write("GCD z " + num3 + " i " + num4 + " to " + obliczGCD(num3, num4) + "
");
zmienna liczba5 = 88, liczba6 = 11;
document.write("GCD z " + num5 + " i " + num6 + " to " + obliczGCD(num5, num6) + "
");
zmienna liczba7 = 40, liczba8 = 32;
document.write("GCD z " + num7 + " i " + num8 + " to " + obliczGCD(num7, num8) + "
");
zmienna liczba9 = 75, liczba10 = 50;
document.write("GCD z " + num9 + " i " + num10 + " to " + obliczGCD(num9, num10) + "
");

Wynik:

NWD 34 i 22 to 2
GCD 10 i 2 to 2
GCD 88 i 11 to 11
GCD 40 i 32 to 8
GCD 75 i 50 to 25

Jak znaleźć LCM dwóch liczb

Najmniejsza wspólna wielokrotność (LCM) dwóch liczb to najmniejsza dodatnia liczba całkowita, która jest doskonale podzielna przez dwie podane liczby. LCM dwóch liczb można znaleźć za pomocą następującego wzoru matematycznego:

liczba1 * liczba2 = LCM(liczba1, liczba2) * NWD(liczba1, liczba2)
LCM(num1, num2) = (num1 * num2) / NWD(num1, num2)

Aby programowo znaleźć LCM dwóch liczb, musisz użyć funkcji, aby znaleźć NWD dwóch liczb.

Związane z: Jak dodawać i odejmować dwie macierze w C++, Pythonie i JavaScript

Program C++ do znajdowania LCM dwóch liczb

Poniżej znajduje się program C++ do znalezienia LCM dwóch liczb:

// program C++ do znalezienia LCM 2 liczb
#zawierać
używając standardowej przestrzeni nazw;
// Funkcja rekursywna do znalezienia LCM 2 liczb
int obliczGCD(int num1, int num2)
{
jeśli (liczba2==0)
{
zwróć num1;
}
jeszcze
{
zwróć obliczyćGCD(num2, num1%num2);
}
}
int obliczLCM(int num1, int num2)
{
return (num1 / obliczGCD(num1, num2)) * num2;
}
// Kod kierowcy
int main()
{
int liczba1 = 34, liczba2 = 22;
cout << "LCM z " << num1 << " i " << num2 << " to " << obliczyćLCM(num1, num2) << endl;
int liczba3 = 10, liczba4 = 2;
cout << "LCM z " << num3 << " i " << num4 << " to " << obliczyćLCM(num3, num4) << endl;
int liczba5 = 88, liczba6 = 11;
cout << "LCM z " << num5 << " i " << num6 << " to " << obliczyćLCM(num5, num6) << endl;
int liczba7 = 40, liczba8 = 32;
cout << "LCM z " << num7 << " i " << num8 << " to " << obliczyćLCM(num7, num8) << endl;
int liczba9 = 75, liczba10 = 50;
cout << "LCM z " << num9 << " i " << num10 << " to " << obliczyćLCM(num9, num10) << endl;
zwróć 0;
}

Wynik:

LCM 34 i 22 to 374
LCM 10 i 2 to 10
LCM 88 i 11 to 88
LCM 40 i 32 to 160
LCM 75 i 50 to 150

Program Pythona do znajdowania LCM dwóch liczb

Poniżej znajduje się program Pythona do znajdowania LCM dwóch liczb:

# Program w Pythonie do znajdowania LCM z 2 liczb
def obliczGCD(num1, num2):
jeśli liczba2==0:
zwróć num1
jeszcze:
zwróć obliczGCD(num2, num1%num2)
def obliczLCM(num1, num2):
return (num1 // obliczGCD(num1, num2)) * num2
# Kod kierowcy
liczba1 = 34
liczba2 = 22
print("LCM z", num1, "i", num2, "jest", obliczLCM(num1, num2))
num3 = 10
liczba4 = 2
print("LCM z", num3, "i", num4, "jest", obliczLCM(num3, num4))
num5 = 88
num6 = 11
print("LCM z", num5, "i", num6, "jest", obliczLCM(num5, num6))
num7 = 40
liczba8 = 32
print("LCM z", num7, "i", num8, "jest", obliczLCM(num7, num8))
num9 = 75
liczba10 = 50
print("LCM z", num9, "i", num10, "jest", obliczLCM(num9, num10))

Wynik:

LCM 34 i 22 to 374
LCM 10 i 2 to 10
LCM 88 i 11 to 88
LCM 40 i 32 to 160
LCM 75 i 50 to 150

Program C do znajdowania LCM dwóch liczb

Poniżej znajduje się program C do znalezienia LCM dwóch liczb:

// Program C do znalezienia LCM 2 liczb
#zawierać
// Funkcja rekursywna do znalezienia LCM 2 liczb
int obliczGCD(int num1, int num2)
{
jeśli (liczba2==0)
{
zwróć num1;
}
jeszcze
{
zwróć obliczyćGCD(num2, num1%num2);
}
}
int obliczLCM(int num1, int num2)
{
return (num1 / obliczGCD(num1, num2)) * num2;
}
// Kod kierowcy
int main()
{
int liczba1 = 34, liczba2 = 22;
printf("LCM %d i %d to %d \⁠n", num1, num2, obliczLCM(num1, num2));
int liczba3 = 10, liczba4 = 2;
printf("LCM %d i %d to %d \⁠n", num3, num4, obliczLCM(num3, num4));
int liczba5 = 88, liczba6 = 11;
printf("LCM z %d i %d to %d \⁠n", num5, num6, obliczLCM(num5, num6));
int liczba7 = 40, liczba8 = 32;
printf("LCM z %d i %d to %d \⁠n", num7, num8, obliczLCM(num7, num8));
int liczba9 = 75, liczba10 = 50;
printf("LCM z %d i %d to %d \⁠n", num9, num10, obliczLCM(num9, num10));
zwróć 0;
}

Wynik:

LCM 34 i 22 to 374
LCM 10 i 2 to 10
LCM 88 i 11 to 88
LCM 40 i 32 to 160
LCM 75 i 50 to 150

Program JavaScript do znajdowania LCM dwóch liczb

Poniżej znajduje się program JavaScript do znalezienia LCM dwóch liczb:

// program JavaScript do wyszukiwania LCM 2 liczb
// Funkcja rekursywna do znalezienia LCM 2 liczb
funkcja obliczGCD(num1, num2) {
jeśli (liczba2==0)
{
zwróć num1;
}
jeszcze
{
zwróć obliczyćGCD(num2, num1%num2);
}
}
funkcja obliczLCM(num1, num2)
{
return (num1 / obliczGCD(num1, num2)) * num2;
}
// Kod kierowcy
zmienna liczba1 = 34, liczba2 = 22;
document.write("LCM z " + num1 + " i " + num2 + " to " + obliczyćLCM(num1, num2) + "
");
zmienna liczba3 = 10, liczba4 = 2;
document.write("LCM z " + num3 + " i " + num4 + " to " + kalkulacjaLCM(num3, num4) + "
");
zmienna liczba5 = 88, liczba6 = 11;
document.write("LCM z " + num5 + " i " + num6 + " to " + kalkulacjaLCM(num5, num6) + "
");
zmienna liczba7 = 40, liczba8 = 32;
document.write("LCM z " + num7 + " i " + num8 + " to " + kalkulacjaLCM(num7, num8) + "
");
zmienna liczba9 = 75, liczba10 = 50;
document.write("LCM z " + num9 + " i " + num10 + " to " + kalkulacjaLCM(num9, num10) + "
");

Wynik:

LCM 34 i 22 to 374
LCM 10 i 2 to 10
LCM 88 i 11 to 88
LCM 40 i 32 to 160
LCM 75 i 50 to 150

Dowiedz się więcej o algorytmach matematycznych

Algorytmy matematyczne odgrywają istotną rolę w programowaniu. Dobrze jest wiedzieć o niektórych podstawowych programach opartych na algorytmach matematycznych, takich jak algorytmy sita, faktoryzacja liczb pierwszych, dzielniki, liczby Fibonacciego, obliczenia nCr itp.

Obecnie programowanie funkcjonalne znajduje się na szczycie trendów programistycznych w Internecie. Paradygmat programowania funkcyjnego traktuje obliczenia jak funkcje matematyczne i ta koncepcja jest bardzo przydatna w programowaniu. Musisz wiedzieć o programowaniu funkcjonalnym i jakie języki programowania go obsługują, aby być najbardziej wydajnym programistą, jakim możesz być.

E-mail
5 funkcjonalnych języków programowania, które powinieneś znać

Chcesz wiedzieć więcej o programowaniu? Warto poznać programowanie funkcjonalne i jakie języki programowania je obsługują.

Czytaj dalej

Powiązane tematy
  • Programowanie
  • JavaScript
  • Pyton
  • Poradniki kodowania
  • Programowanie C
O autorze
Yuvraj Chandra (32 opublikowane artykuły)

Yuvraj jest studentem informatyki na Uniwersytecie w Delhi w Indiach. Jest pasjonatem Full Stack Web Development. Kiedy nie pisze, bada głębię różnych technologii.

Więcej od Yuvraja Chandra

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Jeszcze jeden krok…!

Potwierdź swój adres e-mail w wiadomości, którą właśnie wysłaliśmy.

.