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
相关推荐
xiezhr11 分钟前
在trae的帮助下开发了俄罗斯方块游戏
前端·javascript·html
嘉小华15 分钟前
深入浅出Android ViewBinding
前端
嘉小华19 分钟前
深入浅出Android DataBinding
前端
赫本的猫19 分钟前
JavaScript作用域详解:从基础到欺骗词法
前端·javascript
星河丶20 分钟前
React 虚拟 DOM 的 Diff 算法原理
前端·react.js
赫本的猫20 分钟前
JavaScript 预编译机制深度解析
前端·javascript
伍哥的传说31 分钟前
Vue3 响应式翻牌抽奖游戏
javascript·vue.js·游戏·前端框架·vue·交互
涛々40 分钟前
uniapp-vue3-js-vite-pinia-eslint 快速开发模板
javascript·uni-app·uniapp+vue3模板
解道Jdon1 小时前
最新苹果液体玻璃Liquid Glass效果CSS实现
javascript·reactjs
啊~哈1 小时前
页面弹窗适配问题
前端·javascript·vue.js