Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

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


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