ปัญหาหลักของอัลกอริทึม 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 โดยใช้การเรียกฟังก์ชันเพียงครั้งเดียว
ขอบคุณสำหรับโค้ดคำนวณ Java ฉันจะนำไปใช้ในเว็บไซต์ของฉันโดยเร็วที่สุด
มีวันที่ดี…