Terpecahkan: javascript gcd

Masalah utama dengan algoritme JavaScript GCD adalah butuh waktu lama untuk menghitungnya.

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

Ini adalah fungsi rekursif untuk menghitung pembagi persekutuan terbesar dari dua bilangan, menggunakan algoritme Euclid.

Jika b sama dengan 0, maka FPB sama dengan a. Jika tidak, PBT sama dengan PBT dari b dan sisa dari a dibagi dengan b.

Pembagi Persekutuan Terbesar

Pembagi Persekutuan Terbesar (FPB) dari dua bilangan bulat adalah bilangan bulat terbesar yang membagi kedua bilangan bulat tanpa meninggalkan sisa. Misalnya, FPB dari 12 dan 24 adalah 6.

Perpustakaan matematika

Ada beberapa perpustakaan yang dapat membantu matematika dalam JavaScript. Salah satunya adalah Math.js, yang menyediakan sejumlah fungsi dan objek matematika dasar. Lainnya adalah numeral.js, yang menyediakan serangkaian fungsi dan objek numerik yang komprehensif.

Rekursi dalam JavaScript

Rekursi adalah konstruksi pemrograman yang memungkinkan suatu fungsi memanggil dirinya sendiri. Dengan kata lain, ini memungkinkan suatu fungsi untuk merujuk ke dirinya sendiri dalam definisinya sendiri. Rekursi dapat digunakan untuk memecahkan masalah atau mencapai tujuan tertentu.

Salah satu penggunaan rekursi yang umum adalah dalam algoritme yang memecahkan masalah menggunakan perulangan. Misalnya, deret Fibonacci dapat diselesaikan dengan menggunakan algoritme rekursif. Algoritma dimulai dengan menghitung angka Fibonacci pertama kali, kemudian menghitung angka Fibonacci kedua kalinya berdasarkan hasil perhitungan pertama. Proses ini diulang sampai urutan mencapai batas yang telah ditentukan atau sampai terjadi kesalahan.

Fungsi rekursif juga dapat digunakan untuk memecahkan masalah yang melibatkan daftar dan larik. Misalnya, Anda ingin menemukan semua bilangan genap antara 2 dan 100. Anda dapat menggunakan perulangan untuk melakukannya, tetapi akan membutuhkan waktu yang cukup lama untuk menjalankannya. Sebagai gantinya, Anda dapat menggunakan rekursi untuk menghitung semua bilangan genap antara 2 dan 100 menggunakan satu pemanggilan fungsi.

Pos terkait:

1 pemikiran pada “Terpecahkan: javascript gcd”

Tinggalkan Komentar