Matematiikka on tärkeä osa ohjelmointia ja tietojenkäsittelytietettä. Se on minkä tahansa hyvän algoritmin ydin ja tarjoaa ohjelmoinnissa tarvittavan analyyttisen taitokokonaisuuden.
Matemaattiset algoritmit ovat myös erittäin tärkeä aihe haastattelujen ohjelmoinnissa. Tässä artikkelissa opit kuinka etsimään kahden numeron GCD ja LCM käyttämällä C ++, Python, C ja JavaScript.
Kuinka löytää kahden numeron GCD
Kahden numeron suurin yhteinen jakaja (GCD) tai suurin yhteinen tekijä (HCF) on suurin positiivinen kokonaisluku, joka jakaa täydellisesti nämä kaksi lukua. Löydät kahden numeron GCD: n käyttämällä Euclidean algoritmia.
Euklidisen algoritmin mukaan suurempi luku jaetaan pienemmällä luvulla, sitten pienempi luku jaetaan edellisen operaation loppuosalla. Tätä prosessia toistetaan, kunnes loppuosa on 0.
Esimerkiksi, jos haluat löytää GCD-arvot 75 ja 50, sinun on noudatettava näitä vaiheita:
- Jaa suurempi luku pienemmällä ja ota loput.
75 % 50 = 25
- Jaa pienempi luku edellisen toiminnon loppuosalla.
50 % 25 = 0
- Nyt lopusta tulee 0, joten 75 ja 50 GCD on 25.
C ++ -ohjelma kahden numeron GCD: n löytämiseksi
Alla on C ++ -ohjelma kahden numeron GCD: n löytämiseksi:
// C ++ -ohjelma kahden numeron GCD / HCF: n löytämiseksi
#sisältää
käyttämällä nimitilaa vakio;
// Rekursiivinen toiminto kahden numeron GCD / HCF: n löytämiseksi
int laskea GCD (int numero1, int numero2)
{
jos (num2 == 0)
{
paluu numero1;
}
muu
{
paluulaskentaGCD (num2, num1% num2);
}
}
// Kuljettajan koodi
int main ()
{
int num1 = 34, num2 = 22;
cout << "GCD" << num1 << "ja" << num2 << "on" << laskeaGCD (num1, num2) << loppu;
int num3 = 10, num4 = 2;
cout << "GCD" << num3 << "ja" << num4 << "on" << laskeaGCD (num3, num4) << loppu;
int num5 = 88, num6 = 11;
cout << "GCD" << num5 << "ja" << num6 << "on" << laskeaGCD (num5, num6) << loppu;
int num7 = 40, num8 = 32;
cout << "GCD" << num7 << "ja" << num8 << "on" << Laske GCD (num7, num8) << loppu;
int num9 = 75, num10 = 50;
cout << "GCD" << num9 << "ja" << num10 << "on" << laskeaGCD (num9, num10) << loppu;
paluu 0;
}
Tuotos:
GCD 34 ja 22 on 2
10 ja 2 GCD on 2
GCD: n 88 ja 11 on 11
GCD 40 ja 32 on 8
75 ja 50 GCD on 25
Python-ohjelma kahden numeron GCD: n löytämiseksi
Alla on Python-ohjelma kahden numeron GCD: n löytämiseksi:
Liittyvät: Mikä on rekursio ja miten sitä käytetään?
# Python-ohjelma löytääksesi GCD / HCF 2 numerosta
def calcGCD (num1, num2):
jos num2 == 0:
palauta numero1
muu:
tuotto laskeaGCD (num2, num1% num2)
# Kuljettajan koodi
num1 = 34
num2 = 22
tulosta ("GCD of", num1, "ja", num2, "is", Laske GCD (num1, num2))
num3 = 10
num4 = 2
tulosta ("GCD of", num3, "ja", num4, "is", Laske GCD (num3, num4))
num5 = 88
num6 = 11
tulosta ("GCD of", num5, "ja", num6, "is", Laske GCD (num5, num6))
numero7 = 40
numero8 = 32
tulosta ("GCD of", num7, "ja", num8, "is", calcGCD (num7, num8))
num9 = 75
num10 = 50
tulosta ("GCD of", num9, "ja", num10, "is", calcGCD (num9, num10))
Tuotos:
GCD 34 ja 22 on 2
10 ja 2 GCD on 2
GCD: n 88 ja 11 on 11
GCD 40 ja 32 on 8
75 ja 50 GCD on 25
C Ohjelma kahden numeron GCD: n löytämiseksi
Alla on C-ohjelma kahden numeron GCD: n löytämiseksi:
// C-ohjelma kahden numeron GCD / HCF: n löytämiseksi
#sisältää
// Rekursiivinen toiminto kahden numeron GCD / HCF: n löytämiseksi
int laskea GCD (int numero1, int numero2)
{
jos (num2 == 0)
{
paluu numero1;
}
muu
{
paluulaskentaGCD (num2, num1% num2);
}
}
// Kuljettajan koodi
int main ()
{
int num1 = 34, num2 = 22;
printf ("% d: n ja% d: n GCD on% d \ n", num1, num2, laskeaGCD (num1, num2));
int num3 = 10, num4 = 2;
printf ("% d: n ja% d: n GCD on% d \ n", num3, num4, laskeaGCD (num3, num4));
int num5 = 88, num6 = 11;
printf ("% d: n ja% d: n GCD on% d \ n", num5, num6, laskeaGCD (num5, num6));
int num7 = 40, num8 = 32;
printf ("% d: n ja% d: n GCD on% d \ n", num7, num8, laskeaGCD (num7, num8));
int num9 = 75, num10 = 50;
printf ("% d: n ja% d: n GCD on% d \ n", num9, num10, laskeaGCD (num9, num10));
paluu 0;
}
Tuotos:
GCD 34 ja 22 on 2
10 ja 2 GCD on 2
GCD: n 88 ja 11 on 11
GCD 40 ja 32 on 8
75 ja 50 GCD on 25
JavaScript-ohjelma kahden numeron GCD: n löytämiseksi
Alla on JavaScript ohjelma löytää kahden numeron GCD: n:
// JavaScript-ohjelma kahden numeron GCD / HCF: n löytämiseksi
// Rekursiivinen toiminto kahden numeron GCD / HCF: n löytämiseksi
funktio calcGCD (num1, num2) {
jos (num2 == 0)
{
paluu numero1;
}
muu
{
paluulaskentaGCD (num2, num1% num2);
}
}
// Kuljettajan koodi
var num1 = 34, num2 = 22;
document.write ("GCD +" num1 + "ja" + num2 + "on" + laskeaGCD (num1, num2) + "
");
var num3 = 10, num4 = 2;
document.write ("GCD =" + num3 + "ja" + num4 + "on" + laskeaGCD (num3, num4) + "
");
var num5 = 88, num6 = 11;
document.write ("GCD: stä" + num5 + "ja" + num6 + "on" + calcGCD (num5, num6) + "
");
var num7 = 40, num8 = 32;
document.write ("+ num7 +" ja "+ num8 +" GCD on "+ laskea GCD (num7, num8) +"
");
var num9 = 75, num10 = 50;
document.write ("+ num9 +" ja "+ num10 +" GCD on "+ laskea GCD (num9, num10) +"
");
Tuotos:
GCD 34 ja 22 on 2
10 ja 2 GCD on 2
GCD: n 88 ja 11 on 11
GCD 40 ja 32 on 8
75 ja 50 GCD on 25
Kuinka löytää kahden luvun LCM
Kahden luvun pienin yhteinen moninkertainen (LCM) on pienin positiivinen kokonaisluku, joka on täysin jaettavissa kahdella annetulla luvulla. Löydät kahden numeron LCM seuraavan matemaattisen kaavan avulla:
num1 * num2 = LCM (num1, num2) * GCD (num1, num2)
LCM (numero1, numero2) = (numero1 * numero2) / GCD (numero1, numero2)
Jos haluat löytää kahden numeron LCM: n ohjelmallisesti, sinun on käytettävä toimintoa kahden numeron GCD: n löytämiseen.
Liittyvät: Kuinka lisätä ja vähentää kaksi matriisia C ++, Python ja JavaScript
C ++ -ohjelma kahden numeron LCM: n löytämiseksi
Alla on C ++ -ohjelma kahden numeron LCM: n löytämiseksi:
// C ++ -ohjelma kahden numeron LCM: n löytämiseksi
#sisältää
käyttämällä nimitilaa vakio;
// Rekursiivinen toiminto kahden numeron LCM: n löytämiseksi
int laskea GCD (int numero1, int numero2)
{
jos (num2 == 0)
{
paluu numero1;
}
muu
{
paluulaskentaGCD (num2, num1% num2);
}
}
int laskea LCM (int numero1, int numero2)
{
return (num1 / laskeaGCD (num1, num2)) * num2;
}
// Kuljettajan koodi
int main ()
{
int num1 = 34, num2 = 22;
cout << "LCM /" << num1 << "ja" << num2 << "on" << laskea LCM (num1, num2) << loppu;
int num3 = 10, num4 = 2;
cout << "LCM /" << num3 << "ja" << num4 << "on" << laskea LCM (num3, num4) << loppu;
int num5 = 88, num6 = 11;
cout << "LCM /" << num5 << "ja" << num6 << "on" << laskea LCM (num5, num6) << loppu;
int num7 = 40, num8 = 32;
cout << "LCM /" << num7 << "ja" << num8 << "on" << laskea LCM (num7, num8) << loppu;
int num9 = 75, num10 = 50;
cout << "LCM /" << num9 << "ja" << num10 << "on" << laskea LCM (num9, num10) << loppu;
paluu 0;
}
Tuotos:
LCM 34 ja 22 on 374
10 ja 2 LCM on 10
LCM: n 88 ja 11 on 88
LCM 40 ja 32 on 160
LCM 75 ja 50 on 150
Python-ohjelma kahden numeron LCM: n löytämiseksi
Alla on Python-ohjelma kahden numeron LCM: n löytämiseksi:
# Python-ohjelma kahden numeron LCM: n löytämiseksi
def calcGCD (num1, num2):
jos num2 == 0:
palauta numero1
muu:
tuotto laskeaGCD (num2, num1% num2)
def laskea LCM (numero1, numero2):
return (numero1 // laskeaGCD (numero1, numero2)) * num2
# Kuljettajan koodi
num1 = 34
num2 = 22
tulosta ("LCM of", num1, "ja", num2, "is", laske LCM (num1, num2))
num3 = 10
num4 = 2
tulosta ("LCM of", num3, "ja", num4, "is", laske LCM (num3, num4))
num5 = 88
num6 = 11
tulosta ("LCM of", num5, "ja", num6, "is", laske LCM (num5, num6))
numero7 = 40
numero8 = 32
tulosta ("LCM of", num7, "ja", num8, "is", laske LCM (num7, num8))
num9 = 75
num10 = 50
tulosta ("LCM of", num9, "ja", num10, "is", laske LCM (num9, num10))
Tuotos:
LCM 34 ja 22 on 374
10 ja 2 LCM on 10
LCM: n 88 ja 11 on 88
LCM 40 ja 32 on 160
LCM 75 ja 50 on 150
C Ohjelma kahden numeron LCM: n löytämiseksi
Alla on C-ohjelma kahden numeron LCM: n löytämiseksi:
// C-ohjelma kahden numeron LCM: n löytämiseksi
#sisältää
// Rekursiivinen toiminto kahden numeron LCM: n löytämiseksi
int laskea GCD (int numero1, int numero2)
{
jos (num2 == 0)
{
paluu numero1;
}
muu
{
paluulaskentaGCD (num2, num1% num2);
}
}
int laskea LCM (int numero1, int numero2)
{
return (num1 / laskeaGCD (num1, num2)) * num2;
}
// Kuljettajan koodi
int main ()
{
int num1 = 34, num2 = 22;
printf ("% d: n ja% d: n LCM on% d \ n", num1, num2, laskea LCM (num1, num2));
int num3 = 10, num4 = 2;
printf ("% d: n ja% d: n LCM on% d \ n", num3, num4, laskea LCM (num3, num4));
int num5 = 88, num6 = 11;
printf ("% d: n ja% d: n LCM on% d \ n", num5, num6, laskea LCM (num5, num6));
int num7 = 40, num8 = 32;
printf ("% d: n ja% d: n LCM on% d \ n", num7, num8, laskea LCM (num7, num8));
int num9 = 75, num10 = 50;
printf ("% d: n ja% d: n LCM on% d \ n", num9, num10, laskea LCM (num9, num10));
paluu 0;
}
Tuotos:
LCM 34 ja 22 on 374
10 ja 2 LCM on 10
LCM: n 88 ja 11 on 88
LCM 40 ja 32 on 160
LCM 75 ja 50 on 150
JavaScript-ohjelma kahden numeron LCM: n löytämiseksi
Alla on JavaScript-ohjelma kahden numeron LCM: n löytämiseksi:
// JavaScript-ohjelma kahden numeron LCM: n löytämiseksi
// Rekursiivinen toiminto kahden numeron LCM: n löytämiseksi
funktio calcGCD (num1, num2) {
jos (num2 == 0)
{
paluu numero1;
}
muu
{
paluulaskentaGCD (num2, num1% num2);
}
}
funktio laskea LCM (num1, num2)
{
return (num1 / laskeaGCD (num1, num2)) * num2;
}
// Kuljettajan koodi
var num1 = 34, num2 = 22;
document.write ("LCM /" + num1 + "ja" + num2 + "on" + laskea LCM (num1, num2) + "
");
var num3 = 10, num4 = 2;
document.write ("LCM /" + num3 + "ja" + num4 + "on" + laskea LCM (num3, num4) + "
");
var num5 = 88, num6 = 11;
document.write ("LCM /" + num5 + "ja" + num6 + "on" + laskea LCM (num5, num6) + "
");
var num7 = 40, num8 = 32;
document.write ("LCM /" + num7 + "ja" + num8 + "on" + laskea LCM (num7, num8) + "
");
var num9 = 75, num10 = 50;
document.write ("LCM /" + num9 + "ja" + num10 + "on" + laskea LCM (num9, num10) + "
");
Tuotos:
LCM 34 ja 22 on 374
10 ja 2 LCM on 10
LCM: n 88 ja 11 on 88
LCM 40 ja 32 on 160
LCM 75 ja 50 on 150
Lisätietoja matemaattisista algoritmeista
Matemaattisilla algoritmeilla on tärkeä rooli ohjelmoinnissa. On viisasta tietää joistakin matemaattisiin algoritmeihin perustuvista perusohjelmista, kuten Sieve Algorithms, Prime Factorization, Divisors, Fibonacci Numbers, nCr Computations jne.
Tällä hetkellä toiminnallinen ohjelmointi on ohjelmoinnin trendien kärjessä Internetissä. Toiminnallinen ohjelmointiparadigma käsittelee tietojenkäsittelyä kuten matemaattisia toimintoja, ja tämä käsite on erittäin hyödyllinen ohjelmoinnissa. Sinun on tiedettävä toiminnallisesta ohjelmoinnista ja siitä, mitkä ohjelmointikielet tukevat sitä olevan mahdollisimman tehokas ohjelmoija.
Haluatko tietää enemmän ohjelmoinnista? On syytä oppia toiminnallisesta ohjelmoinnista ja siitä, mitkä ohjelmointikielet sitä tukevat.
Lue seuraava
- Ohjelmointi
- JavaScript
- Python
- Koodausoppaat
- C Ohjelmointi
Yuvraj on tietojenkäsittelytieteen perustutkinto-opiskelija Delhin yliopistossa Intiassa. Hän on intohimoisesti Full Stack -verkkokehitys. Kun hän ei kirjoita, hän tutkii eri tekniikoiden syvyyttä.
Tilaa uutiskirjeemme
Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja erikoistarjouksia!
Vielä yksi askel !!!
Vahvista sähköpostiosoitteesi juuri lähettämässäsi sähköpostiviestissä.