เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลขเป็นอาร์กิวเมนต์เท่านั้น
ตัวเลขที่ระบุเป็นอาร์กิวเมนต์รับประกันว่าเป็นจำนวนประกอบ (ตัวเลขที่มีตัวประกอบมากกว่าสองตัว) ฟังก์ชันของเราควรหาจำนวนเฉพาะที่ใหญ่ที่สุดที่หารจำนวนอินพุตได้อย่างแม่นยำ
ตัวอย่างเช่น −
หากอาร์กิวเมนต์คือ 72 ผลลัพธ์ควรเป็น 3
เพราะ 3 เป็นจำนวนเฉพาะที่ใหญ่ที่สุดที่หาร 72 ได้อย่างลงตัว
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const num = 72; const largestPrimeFactor = (num) => { let res = Math.ceil(Math.sqrt(num)); const isPrime = (num) => { let i, limit = Math.ceil(Math.sqrt(num)); for (i = 3; i <= limit; i += 2) { if (num % i === 0) { return false; }; }; return true; }; res = (res & 1) === 0 ? res - 1 : res; while (!(num % res === 0 && isPrime(res))) { res -= 2; }; return res; } console.log(largestPrimeFactor(num));
ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์บนคอนโซล -
3