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
相关推荐
Mr Xu_7 分钟前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
未来龙皇小蓝10 分钟前
RBAC前端架构-01:项目初始化
前端·架构
张张努力变强18 分钟前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
程序员agions18 分钟前
2026年,微前端终于“死“了
前端·状态模式
万岳科技系统开发19 分钟前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
张登杰踩24 分钟前
MCR ALS 多元曲线分辨算法详解
算法
程序员猫哥_26 分钟前
HTML 生成网页工具推荐:从手写代码到 AI 自动生成网页的进化路径
前端·人工智能·html
龙飞0527 分钟前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl
我爱加班、、32 分钟前
Websocket能携带token过去后端吗
前端·后端·websocket
AAA阿giao32 分钟前
从零拆解一个 React + TypeScript 的 TodoList:模块化、数据流与工程实践
前端·react.js·ui·typescript·前端框架