Lahendatud: javascript gcd

JavaScripti GCD algoritmi peamine probleem on see, et selle arvutamine võib võtta kaua aega.

function gcd(a, b) {
    if (b == 0) {
        return a;
    } else {
        return gcd(b, a % b);
    }
}

See on rekursiivne funktsioon kahe arvu suurima ühisjagaja arvutamiseks, kasutades Eukleidese algoritmi.

Kui b on võrdne 0-ga, on GCD võrdne a-ga. Vastasel juhul on GCD võrdne b GCD-ga ja a ülejäänud osa jagatud b-ga.

Suurim ühine jagaja

Kahe täisarvu suurim ühine jagaja (GCD) on suurim täisarv, mis jagab mõlemad täisarvud jääki jätmata. Näiteks GCD 12 ja 24 on 6.

Matemaatika raamatukogud

JavaScriptis on matemaatikaga seotud mõned teegid. Üks neist on Math.js, mis pakub mitmeid põhilisi matemaatilisi funktsioone ja objekte. Teine on numeral.js, mis pakub laia valikut numbrilisi funktsioone ja objekte.

Rekursioon JavaScriptis

Rekursioon on programmeerimiskonstruktsioon, mis võimaldab funktsioonil end ise välja kutsuda. Teisisõnu, see võimaldab funktsioonil viidata iseendale oma definitsioonis. Rekursiooni saab kasutada probleemide lahendamiseks või teatud eesmärkide saavutamiseks.

Üks levinud rekursiooni kasutusala on algoritmid, mis lahendavad probleeme silmuste abil. Näiteks Fibonacci jada saab lahendada rekursiivse algoritmi abil. Algoritm alustab Fibonacci arvu esmakordsest arvutamisest ja seejärel Fibonacci arvu arvutamisest teist korda esimese arvutuse tulemuse põhjal. Seda protsessi korratakse, kuni jada jõuab etteantud piirini või kuni ilmneb tõrge.

Rekursiivseid funktsioone saab kasutada ka loendite ja massiivide probleemide lahendamiseks. Oletagem näiteks, et soovite leida kõik paarisarvud vahemikus 2 kuni 100. Selleks võite kasutada tsüklit, kuid selle käivitamine võtab üsna palju aega. Selle asemel võite kasutada rekursiooni, et arvutada kõik paarisarvud vahemikus 2 kuni 100 ühe funktsioonikutsega.

Seonduvad postitused:

1 mõte teemal "Lahendatud: javascript gcd"

Jäta kommentaar