A JavaScript GCD algoritmussal a fő probléma az, hogy a kiszámítása sok időt vehet igénybe.
function gcd(a, b) { if (b == 0) { return a; } else { return gcd(b, a % b); } }
Ez egy rekurzív függvény két szám legnagyobb közös osztójának kiszámítására Euklidész algoritmusával.
Ha b egyenlő 0-val, akkor a GCD egyenlő a-val. Ellenkező esetben a GCD egyenlő b GCD-jével és a maradékával osztva b-vel.
Legnagyobb közös osztó
Két egész szám legnagyobb közös osztója (GCD) az a legnagyobb egész szám, amely mindkét egész számot felosztja anélkül, hogy maradékot hagyna. Például a 12 és 24 GCD értéke 6.
Matematikai könyvtárak
Van néhány könyvtár, amely segíthet a JavaScriptben a matematikában. Az egyik a Math.js, amely számos alapvető matematikai függvényt és objektumot biztosít. Egy másik a numeral.js, amely numerikus függvények és objektumok átfogó készletét biztosítja.
Rekurzió JavaScriptben
A rekurzió egy programozási konstrukció, amely lehetővé teszi, hogy egy függvény meghívja magát. Más szavakkal, lehetővé teszi egy függvény számára, hogy saját definíciójában hivatkozzon önmagára. A rekurzió felhasználható problémák megoldására vagy bizonyos célok elérésére.
A rekurzió egyik gyakori felhasználási módja az olyan algoritmusok, amelyek ciklusok segítségével oldják meg a problémákat. Például a Fibonacci-sorozat rekurzív algoritmussal megoldható. Az algoritmus úgy indul, hogy először kiszámolja a Fibonacci-számot, majd az első számítás eredménye alapján másodszor kiszámolja a Fibonacci-számot. Ezt a folyamatot addig ismételjük, amíg a sorozat el nem ér egy előre meghatározott határt, vagy amíg hiba nem történik.
A rekurzív függvények a listákkal és tömbökkel kapcsolatos problémák megoldására is használhatók. Tegyük fel például, hogy meg akarja találni az összes páros számot 2 és 100 között. Használhat egy ciklust is, de elég sok időt vesz igénybe a futtatása. Ehelyett használhatja a rekurziót a 2 és 100 közötti páros számok egyetlen függvényhívással történő kiszámításához.
Köszönöm a java számítási kódot, mielőbb felhasználom a weboldalamon.
Legyen szép napod…