Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm thừa số nguyên tố lớn nhất của một số trong JavaScript


Chúng ta cần viết một hàm JavaScript nhận vào một số làm đối số duy nhất. Số được đảm bảo là hợp số (có nhiều hơn 2 ước). Hàm tìm số nguyên tố lớn nhất chia hết cho số đầu vào.

Ví dụ - Nếu tham số là 72, đầu ra là 3 (vì 3 là số nguyên tố lớn nhất chia hết 72).

Ví dụ

Code sau đây:

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));

Kết quả

Kết quả trên console:

3