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