Løst: javascript gcd

Hovedproblemet med JavaScript GCD-algoritmen er, at det kan tage lang tid at beregne.

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

Dette er en rekursiv funktion til at beregne den største fælles divisor af to tal ved hjælp af Euklids algoritme.

Hvis b er lig med 0, så er GCD lig med a. Ellers er GCD lig med GCD af b og resten af ​​a divideret med b.

Største fælles skille

Den største fælles divisor (GCD) af to heltal er det største heltal, der deler begge heltal uden at efterlade en rest. For eksempel er GCD for 12 og 24 6.

Matematik biblioteker

Der er et par biblioteker, der kan hjælpe med matematik i JavaScript. Den ene er Math.js, som giver en række grundlæggende matematiske funktioner og objekter. En anden er numeral.js, som giver et omfattende sæt af numeriske funktioner og objekter.

Rekursion i JavaScript

Rekursion er en programmeringskonstruktion, der tillader en funktion at kalde sig selv. Med andre ord tillader den en funktion at henvise til sig selv i sin egen definition. Rekursion kan bruges til at løse problemer eller opnå bestemte mål.

En almindelig brug af rekursion er i algoritmer, der løser problemer ved hjælp af loops. For eksempel kan Fibonacci-sekvensen løses ved hjælp af en rekursiv algoritme. Algoritmen starter med at beregne Fibonacci-tallet for første gang, og derefter beregne Fibonacci-tallet for anden gang baseret på resultatet af den første beregning. Denne proces gentages, indtil enten sekvensen når en forudbestemt grænse, eller indtil der opstår en fejl.

Rekursive funktioner kan også bruges til at løse problemer, der involverer lister og arrays. Antag for eksempel, at du vil finde alle de lige tal mellem 2 og 100. Du kan bruge en loop til at gøre dette, men det ville tage en del tid at køre. I stedet kan du bruge rekursion til at beregne alle de lige tal mellem 2 og 100 ved hjælp af et enkelt funktionskald.

Relaterede indlæg:

1 tanke om “Løst: javascript gcd”

Efterlad en kommentar