Matemaatika on programmeerimise ja arvutiteaduse oluline osa. See on iga hea algoritmi tuum ja pakub programmeerimiseks vajalikku analüütilist oskuste kogumit.
Matemaatilised algoritmid on ka intervjuude programmeerimisel väga oluline teema. Selles artiklis saate teada, kuidas leida kahe numbri GCD ja LCM, kasutades C ++, Python, C ja JavaScripti.
Kuidas leida kahe numbri GCD
Kahe numbri suurim jagaja (GCD) või suurim ühistegur (HCF) on suurim positiivne täisarv, mis jagab need kaks antud numbrit täiuslikult. Eukleidese algoritmi abil leiate kahe numbri GCD.
Eukleidese algoritmis jagatakse suurem arv väiksema arvuga, seejärel jagatakse väiksem arv eelmise operatsiooni ülejäänud osaga. Seda protsessi korratakse seni, kuni ülejäänud on 0.
Näiteks kui soovite leida GCD 75 ja 50, peate järgima neid samme:
- Jagage suurem arv väiksema arvuga ja võtke ülejäänud osa.
75 % 50 = 25
- Jagage väiksem arv eelmise toimingu ülejäänud osaga.
50 % 25 = 0
- Nüüd saab ülejäänud 0, seega on GCD 75 ja 50 25.
C ++ programm kahe numbri GCD leidmiseks
Allpool on C ++ programm kahe numbri GCD leidmiseks:
// C ++ programm kahe numbri GCD / HCF leidmiseks
# kaasata
nimeruumi kasutamine std;
// Rekursiivne funktsioon kahe numbri GCD / HCF leidmiseks
int arvutab GCD (int arv1, int arv2)
{
kui (num2 == 0)
{
tagastama num1;
}
muud
{
tulu arvutaGCD (num2, num1% num2);
}
}
// Juhi kood
int main ()
{
int num1 = 34, num2 = 22;
cout << "GCD" << num1 << "ja" << num2 << "on" << arvutaGCD (num1, num2) << endl;
int num3 = 10, num4 = 2;
cout << "GCD" << num3 << "ja" << num4 << "on" << arvutaGCD (num3, num4) << endl;
int num5 = 88, num6 = 11;
cout << "GCD" << num5 << "ja" << num6 << "on" << arvutaGCD (num5, num6) << endl;
int num7 = 40, num8 = 32;
cout << "GCD" << num7 << "ja" << num8 << "on" << arvutaGCD (num7, num8) << endl;
int num9 = 75, num10 = 50;
cout << "" << num9 << "ja" << num10 << "GCD on" << arvutaGCD (num9, num10) << endl;
tagastama 0;
}
Väljund:
GCD 34 ja 22 on 2
10 ja 2 GCD on 2
GCD 88 ja 11 on 11
GCD 40 ja 32 on 8
GCD 75 ja 50 on 25
Pythoni programm kahe numbri GCD leidmiseks
Allpool on Pythoni programm kahe numbri GCD leidmiseks:
Seotud: Mis on rekursioon ja kuidas seda kasutada?
# Pythoni programm kahe numbri GCD / HCF leidmiseks
def calcGCD (arv1, num2):
kui num2 == 0:
tagastage number1
muu:
tulu arvuta GCD (num2, num1% num2)
# Juhi kood
num1 = 34
num2 = 22
print ("GCD", num1, "ja", num2, "on", arvutaGCD (num1, num2))
num3 = 10
num4 = 2
print ("GCD of", num3, "ja", num4, "is", arvutaGCD (num3, num4))
num5 = 88
num6 = 11
print ("GCD", num5, "ja", num6, "is", arvutaGCD (num5, num6))
num7 = 40
num8 = 32
print ("GCD of", num7, "ja", num8, "is", arvutaGCD (num7, num8))
num9 = 75
num10 = 50
print ("GCD of", num9, "ja", num10, "is", arvutaGCD (num9, num10))
Väljund:
GCD 34 ja 22 on 2
10 ja 2 GCD on 2
GCD 88 ja 11 on 11
GCD 40 ja 32 on 8
GCD 75 ja 50 on 25
C Programm kahe numbri GCD leidmiseks
Allpool on C-programm kahe numbri GCD leidmiseks:
// C-programm kahe numbri GCD / HCF leidmiseks
# kaasata
// Rekursiivne funktsioon kahe numbri GCD / HCF leidmiseks
int arvutab GCD (int arv1, int arv2)
{
kui (num2 == 0)
{
tagastama num1;
}
muud
{
tulu arvutaGCD (num2, num1% num2);
}
}
// Juhi kood
int main ()
{
int num1 = 34, num2 = 22;
printf ("% d ja% d GCD on% d \ n", num1, num2, arvutaGCD (num1, num2));
int num3 = 10, num4 = 2;
printf ("% d ja% d GCD on% d \ n", num3, num4, arvutaGCD (num3, num4));
int num5 = 88, num6 = 11;
printf ("% d ja% d GCD on% d \ n", num5, num6, arvutaGCD (num5, num6));
int num7 = 40, num8 = 32;
printf ("% d ja% d GCD on% d \ n", num7, num8, arvutaGCD (num7, num8));
int num9 = 75, num10 = 50;
printf ("% d ja% d GCD on% d \ n", num9, num10, arvutaGCD (num9, num10));
tagastama 0;
}
Väljund:
GCD 34 ja 22 on 2
10 ja 2 GCD on 2
GCD 88 ja 11 on 11
GCD 40 ja 32 on 8
GCD 75 ja 50 on 25
JavaScripti programm kahe numbri GCD leidmiseks
Allpool on JavaScripti kahe numbri GCD leidmiseks:
// JavaScripti programm kahe numbri GCD / HCF leidmiseks
// Rekursiivne funktsioon kahe numbri GCD / HCF leidmiseks
funktsioon arvutadaGCD (num1, num2) {
kui (num2 == 0)
{
tagastama num1;
}
muud
{
tulu arvutaGCD (num2, num1% num2);
}
}
// Juhi kood
var num1 = 34, num2 = 22;
document.write ("GCD väärtusest" + num1 + "ja" + num2 + "on" + arvutaGCD (num1, num2) + "
");
var num3 = 10, num4 = 2;
document.write ("GCD väärtusest" + num3 + "ja" + num4 + "on" + arvutaGCD (num3, num4) + "
");
var num5 = 88, num6 = 11;
document.write ("GCD väärtusest" + num5 + "ja" + num6 + "on" + arvutaGCD (num5, num6) + "
");
var num7 = 40, num8 = 32;
document.write ("GCD väärtusest" + num7 + "ja" + num8 + "on" + arvutaGCD (num7, num8) + "
");
var num9 = 75, num10 = 50;
document.write ("GCD väärtusest" + num9 + "ja" + num10 + "on" + arvutaGCD (num9, num10) + "
");
Väljund:
GCD 34 ja 22 on 2
10 ja 2 GCD on 2
GCD 88 ja 11 on 11
GCD 40 ja 32 on 8
GCD 75 ja 50 on 25
Kuidas leida kahe numbri LCM-i
Kahe arvu väikseim ühine kordne (LCM) on väikseim positiivne täisarv, mis jaguneb täielikult kahe antud arvuga. Kahe numbri LCM leiate järgmise matemaatilise valemi abil:
num1 * num2 = LCM (num1, num2) * GCD (num1, num2)
LCM (num1, num2) = (num1 * num2) / GCD (num1, num2)
Kahe numbri LCM-i programmiliseks leidmiseks peate funktsiooni kasutama kahe numbri GCD leidmiseks.
Seotud: Kuidas lisada ja lahutada kaks maatriksit C ++, Pythoni ja JavaScripti abil
C ++ programm kahe numbri LCM leidmiseks
Allpool on C ++ programm kahe numbri LCM leidmiseks:
// C ++ programm kahe numbri LCM leidmiseks
# kaasata
nimeruumi kasutamine std;
// Rekursiivne funktsioon 2 numbri LCM leidmiseks
int arvutab GCD (int arv1, int arv2)
{
kui (num2 == 0)
{
tagastama num1;
}
muud
{
tulu arvutaGCD (num2, num1% num2);
}
}
int arvutab LCM (int arv1, int arv2)
{
return (num1 / arvutaGCD (num1, num2)) * num2;
}
// Juhi kood
int main ()
{
int num1 = 34, num2 = 22;
cout << "LCM of" << num1 << "ja" << num2 << "on" << arvutaLCM (num1, num2) << endl;
int num3 = 10, num4 = 2;
cout << "LCM of" << num3 << "ja" << num4 << "on" << arvutaLCM (num3, num4) << endl;
int num5 = 88, num6 = 11;
cout << "LCM of" << num5 << "ja" << num6 << "on" << arvutaLCM (num5, num6) << endl;
int num7 = 40, num8 = 32;
cout << "LCM of" << num7 << "ja" << num8 << "on" << arvutaLCM (num7, num8) << endl;
int num9 = 75, num10 = 50;
cout << "LCM of" << num9 << "ja" << num10 << "on" << arvutaLCM (num9, num10) << endl;
tagastama 0;
}
Väljund:
LCM 34 ja 22 on 374
LCM 10 ja 2 on 10
LCM 88 ja 11 on 88
LCM 40 ja 32 on 160
LCM 75 ja 50 on 150
Pythoni programm kahe numbri LCM leidmiseks
Allpool on Pythoni programm kahe numbri LCM leidmiseks:
# Pythoni programm kahe numbri LCM leidmiseks
def calcGCD (arv1, num2):
kui num2 == 0:
tagastage number1
muu:
tulu arvuta GCD (num2, num1% num2)
def arvutada LCM (num1, num2):
return (num1 // arvutaGCD (num1, num2)) * num2
# Juhi kood
num1 = 34
num2 = 22
print ("LCM of", num1, "ja", num2, "is", arvutaLCM (num1, num2))
num3 = 10
num4 = 2
print ("LCM of", num3, "ja", num4, "is", arvutaLCM (num3, num4))
num5 = 88
num6 = 11
print ("LCM of", num5, "ja", num6, "is", arvutaLCM (num5, num6))
num7 = 40
num8 = 32
print ("LCM of", num7, "ja", num8, "is", arvuta LCM (num7, num8))
num9 = 75
num10 = 50
print ("LCM of", num9, "ja", num10, "is", arvutaLCM (num9, num10))
Väljund:
LCM 34 ja 22 on 374
LCM 10 ja 2 on 10
LCM 88 ja 11 on 88
LCM 40 ja 32 on 160
LCM 75 ja 50 on 150
C Programm kahe numbri LCM leidmiseks
Allpool on C-programm kahe numbri LCM leidmiseks:
// C-programm kahe numbri LCM leidmiseks
# kaasata
// Rekursiivne funktsioon 2 numbri LCM leidmiseks
int arvutab GCD (int arv1, int arv2)
{
kui (num2 == 0)
{
tagastama num1;
}
muud
{
tulu arvutaGCD (num2, num1% num2);
}
}
int arvutab LCM (int arv1, int arv2)
{
return (num1 / arvutaGCD (num1, num2)) * num2;
}
// Juhi kood
int main ()
{
int num1 = 34, num2 = 22;
printf ("% d ja% d LCM on% d \ n", num1, num2, arvutaLCM (num1, num2));
int num3 = 10, num4 = 2;
printf ("% d ja% d LCM on% d \ n", num3, num4, arvutaLCM (num3, num4));
int num5 = 88, num6 = 11;
printf ("% d ja% d LCM on% d \ n", num5, num6, arvutaLCM (num5, num6));
int num7 = 40, num8 = 32;
printf ("% d ja% d LCM on% d \ n", num7, num8, arvutaLCM (num7, num8));
int num9 = 75, num10 = 50;
printf ("% d ja% d LCM on% d \ n", num9, num10, arvutaLCM (num9, num10));
tagastama 0;
}
Väljund:
LCM 34 ja 22 on 374
LCM 10 ja 2 on 10
LCM 88 ja 11 on 88
LCM 40 ja 32 on 160
LCM 75 ja 50 on 150
JavaScripti programm kahe numbri LCM leidmiseks
Allpool on JavaScripti programm kahe numbri LCM leidmiseks:
// JavaScripti programm kahe numbri LCM leidmiseks
// Rekursiivne funktsioon 2 numbri LCM leidmiseks
funktsioon arvutadaGCD (num1, num2) {
kui (num2 == 0)
{
tagastama num1;
}
muud
{
tulu arvutaGCD (num2, num1% num2);
}
}
funktsioon arvuta LCM (num1, num2)
{
return (num1 / arvutaGCD (num1, num2)) * num2;
}
// Juhi kood
var num1 = 34, num2 = 22;
document.write ("LCM väärtusest" + num1 + "ja" + num2 + "on" + arvutaLCM (num1, num2) + "
");
var num3 = 10, num4 = 2;
document.write ("" + num3 + "ja" + num4 + "LCM on" + arvutaLCM (num3, num4) + "
");
var num5 = 88, num6 = 11;
document.write ("LCM väärtusest" + num5 + "ja" + num6 + "on" + arvutaLCM (num5, num6) + "
");
var num7 = 40, num8 = 32;
document.write ("LCM väärtusest" + num7 + "ja" + num8 + "on" + arvutaLCM (num7, num8) + "
");
var num9 = 75, num10 = 50;
document.write ("LCM väärtusest" + num9 + "ja" + num10 + "on" + arvutaLCM (num9, num10) + "
");
Väljund:
LCM 34 ja 22 on 374
LCM 10 ja 2 on 10
LCM 88 ja 11 on 88
LCM 40 ja 32 on 160
LCM 75 ja 50 on 150
Lisateave matemaatiliste algoritmide kohta
Matemaatilistel algoritmidel on programmeerimisel ülitähtis roll. Mõistlik on teada mõnest matemaatilistel algoritmidel põhinevatest põhiprogrammidest, nagu sõelalgoritmid, peafaktoriseerimine, jagajad, Fibonacci numbrid, nCr arvutused jne.
Praegu on funktsionaalne programmeerimine Internetis programmeerimistrendide tipus. Funktsionaalne programmeerimisparadigma käsitleb arvutamist nagu matemaatilisi funktsioone ja see mõiste on programmeerimisel väga kasulik. Peate teadma funktsionaalsest programmeerimisest ja sellest, millised programmeerimiskeeled seda toetavad, et olla võimalikult tõhus programmeerija.
Kas soovite programmeerimisest rohkem teada saada? Tasub teada saada funktsionaalsest programmeerimisest ja sellest, millised programmeerimiskeeled seda toetavad.
Loe edasi
- Programmeerimine
- JavaScripti
- Python
- Kodeerimise õpetused
- C Programmeerimine
Yuvraj on arvutiteaduse eriala üliõpilane Delhis, Indias. Ta on kirglik Full Stacki veebiarenduse vastu. Kui ta ei kirjuta, uurib ta erinevate tehnoloogiate sügavust.
Telli meie uudiskiri
Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!
Veel üks samm !!!
Palun kinnitage oma e-posti aadress e-kirjas, mille just teile saatsime.