เราจำเป็นต้องเขียนฟังก์ชัน 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