js实现一个函数,判断一个数是否是完全平方数
方法一:
function isPerfectSquare(num) {
let i = 1;
while (i * i <= num) {
if (i * i === num) {
return true;
}
i++;
}
return false;
}
// 测试
console.log(isPerfectSquare(16)); // true
console.log(isPerfectSquare(14)); // false
方法二:
该函数接受一个参数 num
,并通过二分查找的方法判断该数是否是完全平方数。如果是完全平方数,则返回 true
,否则返回 false
。
function isPerfectSquare(num) {
if (num < 0) return false;
let left = 0, right = num;
while (left <= right) {
let mid = Math.floor((left + right) / 2);
let square = mid * mid;
if (square === num) {
return true;
} else if (square < num) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return false;
}
// 测试
console.log(isPerfectSquare(16)); // true
console.log(isPerfectSquare(14)); // false
原文链接:https://juejin.cn/post/7344569689048465420 作者:温暖前端