Wiskunde is een essentieel onderdeel van programmeren en informatica. Het is de kern van elk goed algoritme en het biedt de analytische vaardigheden die nodig zijn bij het programmeren.
Wiskundige algoritmen zijn ook een zeer belangrijk onderwerp voor het programmeren van interviews. In dit artikel leert u hoe u GCD en LCM van twee getallen kunt vinden met C++, Python, C en JavaScript.
Hoe de GCD van twee getallen te vinden
De grootste gemene deler (GCD) of hoogste gemene deler (HCF) van twee getallen is het grootste positieve gehele getal dat de twee gegeven getallen perfect deelt. U kunt de GCD van twee getallen vinden met behulp van het Euclidische algoritme.
In het Euclidische algoritme wordt het grotere getal gedeeld door het kleinere getal, waarna het kleinere getal wordt gedeeld door de rest van de vorige bewerking. Dit proces wordt herhaald totdat de rest 0 is.
Als u bijvoorbeeld de GCD van 75 en 50 wilt vinden, moet u deze stappen volgen:
- Deel het grotere getal door het kleinere getal en neem de rest.
75 % 50 = 25
- Deel het kleinere getal door de rest van de vorige bewerking.
50 % 25 = 0
- Nu wordt de rest 0, dus de GCD van 75 en 50 is 25.
C++-programma om de GCD van twee getallen te vinden
Hieronder staat het C++-programma om de GCD van twee getallen te vinden:
// C++ programma om GCD/HCF van 2 getallen te vinden
#include
namespace std; gebruiken;
// Recursieve functie om GCD/HCF van 2 getallen te vinden
int berekenGCD(int num1, int num2)
{
als (getal2==0)
{
retour num1;
}
anders
{
return berekenGCD(getal2, num1%num2);
}
}
// Bestuurderscode
int hoofd()
{
int num1 = 34, num2 = 22;
cout << "GCD van " << num1 << " en " << num2 << " is " << berekenGCD(num1, num2) << endl;
int num3 = 10, num4 = 2;
cout << "GCD van " << num3 << " en " << num4 << " is " << berekenGCD(num3, num4) << endl;
int aantal5 = 88, aantal6 = 11;
cout << "GCD van " << num5 << " en " << num6 << " is " << berekenGCD(num5, num6) << endl;
int aantal7 = 40, aantal8 = 32;
cout << "GCD van " << num7 << " en " << num8 << " is " << berekenGCD(num7, num8) << endl;
int aantal9 = 75, aantal10 = 50;
cout << "GCD van " << num9 << " en " << num10 << " is " << berekenGCD(num9, num10) << endl;
retourneer 0;
}
Uitgang:
GCD van 34 en 22 is 2
GCD van 10 en 2 is 2
GCD van 88 en 11 is 11
GCD van 40 en 32 is 8
GCD van 75 en 50 is 25
Python-programma om de GCD van twee getallen te vinden
Hieronder staat het Python-programma om de GCD van twee getallen te vinden:
Verwant: Wat is recursie en hoe gebruik je het?
# Python-programma om GCD/HCF van 2 getallen te vinden
def berekenGCD(getal1, num2):
als aantal2==0:
retour nummer1
anders:
retour berekenGCD(getal2, num1%num2)
# Bestuurderscode
aantal1 = 34
aantal2 = 22
print("GCD van", num1, "and", num2, "is", berekenGCD(num1, num2))
aantal3 = 10
aantal4 = 2
print("GCD van", num3, "and", num4, "is", berekenGCD(num3, num4))
aantal5 = 88
aantal6 = 11
print("GCD van", num5, "and", num6, "is", berekenGCD(num5, num6))
aantal7 = 40
aantal8 = 32
print("GCD van", num7, "and", num8, "is", berekenGCD(num7, num8))
aantal9 = 75
aantal10 = 50
print("GCD van", num9, "and", num10, "is", berekenGCD(num9, num10))
Uitgang:
GCD van 34 en 22 is 2
GCD van 10 en 2 is 2
GCD van 88 en 11 is 11
GCD van 40 en 32 is 8
GCD van 75 en 50 is 25
C Programma om de GCD van twee getallen te vinden
Hieronder staat het C-programma om de GCD van twee getallen te vinden:
// C-programma om GCD/HCF van 2 nummers te vinden
#include
// Recursieve functie om GCD/HCF van 2 getallen te vinden
int berekenGCD(int num1, int num2)
{
als (getal2==0)
{
retour num1;
}
anders
{
return berekenGCD(getal2, num1%num2);
}
}
// Bestuurderscode
int hoofd()
{
int num1 = 34, num2 = 22;
printf("GCD van %d en %d is %d \n", num1, num2, berekenGCD(num1, num2));
int num3 = 10, num4 = 2;
printf("GCD van %d en %d is %d \n", num3, num4, berekenGCD(num3, num4));
int aantal5 = 88, aantal6 = 11;
printf("GCD van %d en %d is %d \n", num5, num6, berekenGCD(num5, num6));
int aantal7 = 40, aantal8 = 32;
printf("GCD van %d en %d is %d \n", num7, num8, berekenGCD(num7, num8));
int aantal9 = 75, aantal10 = 50;
printf("GCD van %d en %d is %d \n", num9, num10, berekenenGCD(num9, num10));
retourneer 0;
}
Uitgang:
GCD van 34 en 22 is 2
GCD van 10 en 2 is 2
GCD van 88 en 11 is 11
GCD van 40 en 32 is 8
GCD van 75 en 50 is 25
JavaScript-programma om de GCD van twee getallen te vinden
Hieronder is de JavaScript programma om de GCD van twee getallen te vinden:
// JavaScript-programma om GCD/HCF van 2 getallen te vinden
// Recursieve functie om GCD/HCF van 2 getallen te vinden
functie berekenGCD(getal1, num2) {
als (getal2==0)
{
retour num1;
}
anders
{
return berekenGCD(getal2, num1%num2);
}
}
// Bestuurderscode
var num1 = 34, num2 = 22;
document.write("GCD van " + num1 + " en " + num2 + " is " + berekenGCD(num1, num2) + "
");
var num3 = 10, num4 = 2;
document.write("GCD van " + num3 + " en " + num4 + " is " + berekenGCD(num3, num4) + "
");
var aantal5 = 88, aantal6 = 11;
document.write("GCD van " + num5 + " en " + num6 + " is " + berekenGCD(num5, num6) + "
");
var num7 = 40, num8 = 32;
document.write("GCD van " + num7 + " en " + num8 + " is " + berekenGCD(num7, num8) + "
");
var num9 = 75, num10 = 50;
document.write("GCD van " + num9 + " en " + num10 + " is " + berekenGCD(num9, num10) + "
");
Uitgang:
GCD van 34 en 22 is 2
GCD van 10 en 2 is 2
GCD van 88 en 11 is 11
GCD van 40 en 32 is 8
GCD van 75 en 50 is 25
Hoe de LCM van twee getallen te vinden
Het kleinste gemene veelvoud (LCM) van twee getallen is het kleinste positieve gehele getal dat perfect deelbaar is door de twee gegeven getallen. U kunt de LCM van twee getallen vinden met behulp van de volgende wiskundige formule:
num1 * num2 = LCM(num1, num2) * GCD(num1, num2)
LCM(getal1, num2) = (num1 * num2) / GCD(num1, num2)
Om de LCM van twee getallen programmatisch te vinden, moet je de functie gebruiken om de GCD van twee getallen te vinden.
Verwant: Twee matrices optellen en aftrekken in C++, Python en JavaScript
C++-programma om de LCM van twee getallen te vinden
Hieronder staat het C++-programma om de LCM van twee getallen te vinden:
// C++ programma om LCM van 2 getallen te vinden
#include
namespace std; gebruiken;
// Recursieve functie om LCM van 2 getallen te vinden
int berekenGCD(int num1, int num2)
{
als (getal2==0)
{
retour num1;
}
anders
{
return berekenGCD(getal2, num1%num2);
}
}
int berekenLCM(int num1, int num2)
{
return (getal1 / berekenGCD(getal1, num2)) * num2;
}
// Bestuurderscode
int hoofd()
{
int num1 = 34, num2 = 22;
cout << "LCM van " << num1 << " en " << num2 << " is " << berekenLCM(num1, num2) << endl;
int num3 = 10, num4 = 2;
cout << "LCM van " << num3 << " en " << num4 << " is " << berekenLCM(num3, num4) << endl;
int aantal5 = 88, aantal6 = 11;
cout << "LCM van " << num5 << " en " << num6 << " is " << berekenLCM(num5, num6) << endl;
int aantal7 = 40, aantal8 = 32;
cout << "LCM van " << num7 << " en " << num8 << " is " << berekenLCM(num7, num8) << endl;
int aantal9 = 75, aantal10 = 50;
cout << "LCM van " << num9 << " en " << num10 << " is " << berekenLCM(num9, num10) << endl;
retourneer 0;
}
Uitgang:
LCM van 34 en 22 is 374
LCM van 10 en 2 is 10
LCM van 88 en 11 is 88
LCM van 40 en 32 is 160
LCM van 75 en 50 is 150
Python-programma om de LCM van twee getallen te vinden
Hieronder staat het Python-programma om de LCM van twee getallen te vinden:
# Python-programma om LCM van 2 getallen te vinden
def berekenGCD(getal1, num2):
als aantal2==0:
retour nummer1
anders:
retour berekenGCD(getal2, num1%num2)
def berekenLCM(getal1, num2):
return (num1 // berekenGCD(num1, num2)) * num2
# Bestuurderscode
aantal1 = 34
aantal2 = 22
print("LCM van", num1, "and", num2, "is", berekenLCM(num1, num2))
aantal3 = 10
aantal4 = 2
print("LCM van", num3, "and", num4, "is", berekenLCM(num3, num4))
aantal5 = 88
aantal6 = 11
print("LCM van", num5, "and", num6, "is", berekenLCM(num5, num6))
aantal7 = 40
aantal8 = 32
print("LCM van", num7, "and", num8, "is", berekenLCM(num7, num8))
aantal9 = 75
aantal10 = 50
print("LCM van", num9, "and", num10, "is", berekenLCM(num9, num10))
Uitgang:
LCM van 34 en 22 is 374
LCM van 10 en 2 is 10
LCM van 88 en 11 is 88
LCM van 40 en 32 is 160
LCM van 75 en 50 is 150
C Programma om de LCM van twee getallen te vinden
Hieronder staat het C-programma om de LCM van twee getallen te vinden:
// C-programma om LCM van 2 nummers te vinden
#include
// Recursieve functie om LCM van 2 getallen te vinden
int berekenGCD(int num1, int num2)
{
als (getal2==0)
{
retour num1;
}
anders
{
return berekenGCD(getal2, num1%num2);
}
}
int berekenLCM(int num1, int num2)
{
return (getal1 / berekenGCD(getal1, num2)) * num2;
}
// Bestuurderscode
int hoofd()
{
int num1 = 34, num2 = 22;
printf("LCM van %d en %d is %d \n", num1, num2, berekenLCM(num1, num2));
int num3 = 10, num4 = 2;
printf("LCM van %d en %d is %d \n", num3, num4, berekenLCM(num3, num4));
int aantal5 = 88, aantal6 = 11;
printf("LCM van %d en %d is %d \n", num5, num6, berekenLCM(num5, num6));
int aantal7 = 40, aantal8 = 32;
printf("LCM van %d en %d is %d \n", num7, num8, berekenLCM(num7, num8));
int aantal9 = 75, aantal10 = 50;
printf("LCM van %d en %d is %d \n", num9, num10, berekenLCM(num9, num10));
retourneer 0;
}
Uitgang:
LCM van 34 en 22 is 374
LCM van 10 en 2 is 10
LCM van 88 en 11 is 88
LCM van 40 en 32 is 160
LCM van 75 en 50 is 150
JavaScript-programma om de LCM van twee getallen te vinden
Hieronder staat het JavaScript-programma om de LCM van twee getallen te vinden:
// JavaScript-programma om LCM van 2 getallen te vinden
// Recursieve functie om LCM van 2 getallen te vinden
functie berekenGCD(getal1, num2) {
als (getal2==0)
{
retour num1;
}
anders
{
return berekenGCD(getal2, num1%num2);
}
}
functie berekenenLCM(getal1, num2)
{
return (getal1 / berekenGCD(getal1, num2)) * num2;
}
// Bestuurderscode
var num1 = 34, num2 = 22;
document.write("LCM van " + num1 + " en " + num2 + " is " + berekenLCM(num1, num2) + "
");
var num3 = 10, num4 = 2;
document.write("LCM van " + num3 + " en " + num4 + " is " + berekenLCM(num3, num4) + "
");
var aantal5 = 88, aantal6 = 11;
document.write("LCM van " + num5 + " en " + num6 + " is " + berekenLCM(num5, num6) + "
");
var num7 = 40, num8 = 32;
document.write("LCM van " + num7 + " en " + num8 + " is " + berekenLCM(num7, num8) + "
");
var num9 = 75, num10 = 50;
document.write("LCM van " + num9 + " en " + num10 + " is " + berekenLCM(num9, num10) + "
");
Uitgang:
LCM van 34 en 22 is 374
LCM van 10 en 2 is 10
LCM van 88 en 11 is 88
LCM van 40 en 32 is 160
LCM van 75 en 50 is 150
Meer informatie over wiskundige algoritmen
Wiskundige algoritmen spelen een cruciale rol bij het programmeren. Het is verstandig om enkele van de basisprogramma's te kennen die zijn gebaseerd op wiskundige algoritmen zoals zeefalgoritmen, priemfactoren, delers, Fibonacci-getallen, nCr-berekeningen, enz.
Momenteel staat functioneel programmeren bovenaan de programmeertrends op internet. Het functionele programmeerparadigma behandelt computergebruik als wiskundige functies en dit concept is erg handig bij het programmeren. U moet weten over functioneel programmeren en welke programmeertalen dit ondersteunen om de meest efficiënte programmeur te zijn die u kunt zijn.
Meer weten over programmeren? Het is de moeite waard om te leren over functioneel programmeren en welke programmeertalen dit ondersteunen.
Lees volgende
- Programmeren
- JavaScript
- Python
- Codeerhandleidingen
- C Programmeren
Yuvraj is een student Computerwetenschappen aan de Universiteit van Delhi, India. Hij is gepassioneerd door Full Stack Web Development. Als hij niet aan het schrijven is, onderzoekt hij de diepte van verschillende technologieën.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.