Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาตัวประกอบเฉพาะที่ใหญ่ที่สุดของตัวเลขใน JavaScript

เราต้องเขียนฟังก์ชันที่รับตัวเลขประกอบ (composite number) หาตัวประกอบเฉพาะที่ใหญ่ที่สุดที่หารลงตัว

ตัวอย่าง: 72 → ตัวประกอบเฉพาะที่ใหญ่ที่สุดคือ 3

ตัวอย่างโค้ด

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