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
相关推荐
辰烨chenye2 小时前
LeetCode Hot 100 题解 · 普通数组篇
算法·leetcode·职场和发展
mldong4 小时前
你的 Vue3 项目也能有钉钉同款审批流设计器:npm 装包,10 分钟画出第一条审批流
前端·vue.js
2分钟速写快排4 小时前
什么是 RAG?如何用 RAG 实现一个用户记忆?
前端·后端·ai编程
passerby60615 小时前
如何自己造一个时间处理库
前端·javascript·github
hqyjzsb5 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
辰烨chenye5 小时前
LeetCode Hot 100 题解 · 二分篇
java·算法·leetcode
微功夫信息技术5 小时前
分层多智能体强化学习驱动的非急救转运公平 - 效率统一调度系统研究与实践
人工智能·学习·算法·动态规划
走到天涯海角6 小时前
react里面的长列表渲染优化
前端·react.js·前端框架
小羊没烦恼!6 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
sanjiaomao3336 小时前
从论文公式到Python实现:用单元测试校验滑动平均算法
python·算法·单元测试