《javascript试题_javascript题目答案》
在解答JavaScript试题时,我们要理解题目的核心要求。对于每个问题,可以采用多种思路去解决,下面将通过一个具体的JavaScript常见试题来阐述解决方案。
题目:判断一个数是否为素数
一、初步思路 - 暴力求解
最直接的方法是从2开始遍历到这个数的平方根(因为如果一个数能被大于其平方根的数整除,那对应的一定有一个小于等于平方根的因数),看是否有能整除该数的情况。如果有,则不是素数;否则是素数。
javascript
function isPrime(num) {
if (num <= 1) return false; // 小于等于1的数不是素数
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) {
return false;
}
}
return true;
}
二、优化思路 - 考虑特殊情况和减少循环次数
我们可以先处理一些特殊情况,如2是最小的素数且是的偶数素数。然后从3开始,每次只遍历奇数(因为偶数除了2以外都不是素数)进行判断,这样也能提高效率。
javascript
function isPrimeOptimized(num) {
if (num <= 1) return false;
if (num === 2) return true;
if (num % 2 === 0) return false; // 排除其他偶数
for (let i = 3; i <= Math.sqrt(num); i += 2) { // 只遍历奇数
if (num % i === 0) {
return false;
}
}
return true;
}
以上两种方法都能实现判断素数的功能,在实际开发中,根据需求对性能的要求选择合适的方法。如果是简单的逻辑判断,种方法足够使用;如果是在大量数据中频繁调用,第二种优化后的算法会更高效。这也体现了在编写JavaScript代码解决问题时,可以从不同角度思考,以达到更好的效果。