แก้ไขแล้ว: javascript gcd

ปัญหาหลักของอัลกอริทึม JavaScript GCD คือการคำนวณอาจใช้เวลานาน

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

นี่คือฟังก์ชันเรียกซ้ำเพื่อคำนวณตัวหารร่วมมากของตัวเลขสองตัว โดยใช้อัลกอริทึมของ Euclid

ถ้า b เท่ากับ 0 แล้ว GCD จะเท่ากับ a มิฉะนั้น GCD จะเท่ากับ GCD ของ b และส่วนที่เหลือของ a หารด้วย b

ตัวหารร่วมมาก

ตัวหารร่วมมาก (GCD) ของจำนวนเต็มสองจำนวนคือจำนวนเต็มที่มากที่สุดที่หารจำนวนเต็มทั้งสองโดยไม่เหลือเศษ ตัวอย่างเช่น GCD ของ 12 และ 24 คือ 6

ห้องสมุดคณิตศาสตร์

มีห้องสมุดไม่กี่แห่งที่สามารถช่วยเกี่ยวกับคณิตศาสตร์ใน JavaScript หนึ่งคือ Math.js ซึ่งมีฟังก์ชันและวัตถุทางคณิตศาสตร์พื้นฐานจำนวนหนึ่ง อีกอันหนึ่งคือ numeral.js ซึ่งมีชุดฟังก์ชันและอ็อบเจกต์ตัวเลขที่ครอบคลุม

การเรียกซ้ำใน JavaScript

การเรียกซ้ำคือโครงสร้างการเขียนโปรแกรมที่อนุญาตให้ฟังก์ชันเรียกตัวเอง กล่าวอีกนัยหนึ่งคืออนุญาตให้ฟังก์ชันอ้างถึงตัวเองในคำจำกัดความของมันเอง การเรียกซ้ำสามารถใช้เพื่อแก้ปัญหาหรือบรรลุเป้าหมายบางอย่างได้

การใช้การเรียกซ้ำแบบทั่วไปอย่างหนึ่งคือในอัลกอริทึมที่แก้ปัญหาโดยใช้การวนซ้ำ ตัวอย่างเช่น ลำดับฟีโบนัชชีสามารถแก้ไขได้โดยใช้อัลกอริทึมแบบเรียกซ้ำ อัลกอริทึมเริ่มต้นด้วยการคำนวณหมายเลขฟีโบนัชชีในครั้งแรก จากนั้นจึงคำนวณหมายเลขฟีโบนัชชีเป็นครั้งที่สองตามผลลัพธ์ของการคำนวณครั้งแรก กระบวนการนี้ทำซ้ำจนกว่าลำดับจะถึงขีดจำกัดที่กำหนดไว้ล่วงหน้าหรือจนกว่าจะเกิดข้อผิดพลาดขึ้น

ฟังก์ชันเรียกซ้ำยังสามารถใช้เพื่อแก้ปัญหาที่เกี่ยวข้องกับรายการและอาร์เรย์ ตัวอย่างเช่น สมมติว่าคุณต้องการหาเลขคู่ทั้งหมดระหว่าง 2 ถึง 100 คุณสามารถใช้การวนซ้ำได้ แต่จะใช้เวลาค่อนข้างนาน คุณสามารถใช้การเรียกซ้ำเพื่อคำนวณเลขคู่ทั้งหมดระหว่าง 2 ถึง 100 โดยใช้การเรียกฟังก์ชันเพียงครั้งเดียว

กระทู้ที่เกี่ยวข้อง:

1 คิดเกี่ยวกับ "แก้ไขแล้ว: javascript gcd"

แสดงความคิดเห็น