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

อาร์เรย์ปัจจัยเฉพาะของตัวเลขใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับค่าตัวเลขและส่งคืนอาร์เรย์ของจำนวนเฉพาะทั้งหมดที่แบ่งจำนวนอินพุตได้อย่างแม่นยำ

ตัวอย่างเช่น หากหมายเลขอินพุตคือ 105

จากนั้นผลลัพธ์ควรเป็น −

const output = [3, 5, 7];

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const num = 105;
const isPrime = (n) => {
   for(let i = 2; i <= n/2; i++){
      if(n % i === 0){
         return false;
      }
   };
   return true;
};
const findPrimeFactors = num => {
   const res = num % 2 === 0 ? [2] : [];
   let start = 3;
   while(start <= num){
      if(num % start === 0){
         if(isPrime(start)){
            res.push(start);
         };
      };
      start++;
   };
   return res;
};
console.log(findPrimeFactors(18));

ผลลัพธ์

เอาต์พุตในคอนโซล −

[3, 5, 7]