Chúng tôi được yêu cầu viết một hàm JavaScript lấy một số làm đối số duy nhất.
Số được cung cấp làm đối số được đảm bảo là số tổng hợp (số có nhiều hơn hai yếu tố). Hàm của chúng ta sẽ tìm số nguyên tố lớn nhất chia chính xác số đầu vào.
Ví dụ -
Nếu đối số là 72, thì kết quả đầu ra phải là 3.
Vì 3 là số nguyên tố lớn nhất chia chính xác cho 72
Ví dụ
Sau đây là mã -
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));
Đầu ra
Sau đây là kết quả trên bảng điều khiển -
3