我们需要编写一个 JavaScript 函数,它接受一个数字,比如 n。该函数应该找到并返回可以被从 1 到 n 的所有数字完全整除的最小可能数字。
以下是代码 -
const smallestDivisible = (num) => { let i, n = 1; const largestPower = (n, num) => { let p, e = 2, largest = n; while ((p = Math.pow(n, e)) <= num) { largest = p; e += 1; } return largest; } const isPrime = n => { let i, num = Math.ceil(Math.sqrt(n)); for (i = 3; i <= num; i += 2) { if (n % i === 0) { return false; } } return true; } for (i = 3; i <= num; i += 2) { if (isPrime(i)) { n *= largestPower(i, num); } } return n * largestPower(2, num); } console.log(smallestDivisible(20));输出结果
以下是控制台上的输出 -
232792560