js实现一个函数,判断一个数是否是完全平方数

js实现一个函数,判断一个数是否是完全平方数

方法一:

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

javascript 复制代码
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
相关推荐
想吃火锅10052 小时前
【leetcode】405.数字转换为十六进制数js
开发语言·javascript·ecmascript
小宋加油啊3 小时前
机械臂抓取物体 PVN3D算法调研学习
学习·算法·3d
lqqjuly3 小时前
前沿算法深度解析(一)
算法
原则猫3 小时前
HOOKS 背后机制
前端
码语智行4 小时前
首页导航跳转功能深度解析-系统内和系统外
前端
小欣加油4 小时前
leetcode1926 迷宫中离入口最近的出口
数据结构·c++·算法·leetcode·职场和发展
阿猫的故乡4 小时前
Vue过渡动画从入门到装X:淡入淡出、滑动、列表动画、第三方库全搞定
前端·javascript·vue.js
IManiy5 小时前
总结之Vibe Coding前端骨架
前端
小和尚敲木头5 小时前
vue3 vite动态拼接图片路径
javascript