算法(公式法):判断是否完全平方数

2023-11-09

/**

 给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。

 

 说明:不要使用任何内置的库函数,如  sqrt。

 

 示例 1:

 

 输入:16

 输出:True

 示例 2:

 

 输入:14

 输出:False

 */

// 利用公式法:1 + 3 + 5 + 7 + 9 + ... +(2n-1)= n ^ 2,即完全平方数肯定是前n个连续奇数的和

+ (BOOL)isCorrectSquare:(NSInteger)num {

    NSInteger i = 1;

    while (num > 0) {

        num -= i;

        i += 2;

    }

    return num == 0;

}

运行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

算法(公式法):判断是否完全平方数 的相关文章

随机推荐

  • mysql load data infile 报错 1290 处理方法

    mysql load data infile 命令导入数据报错 16 06 13 load data infile var lib mysql test employee csv into table emp fields terminat
  • shell执行神器,赶紧来围观(python,附源码)

    前言 我们在python代码里时常会用shell调起其他进程执行 有时调起进程的不止一个 非常多 但又不希望他们一个一个跑 或全部一起跑 就需要用到线程池 但是有些进程之间有依赖关系 比如进程A必须完成后进程B才可以执行 还需要额外的逻辑保
  • 条件概率(四)

    定义 设A B是两个事件 且P A gt 0 称 P B A 为在事件A发生的条件下事件B发生的条件概率 条件概率符合概率论中的三个条件 1 非负性 对于每一事件B 有P B A 0 2 规范性 对于必然事件S 有P S A 1 3 可列可
  • 随机森林筛选变量(Python实现)

    文章转自每日一Python公众号 当数据集的特征过多时 容易产生过拟合 可以用随机森林来在训练之后可以产生一个各个特征重要性的数据集 利用这个数据集 确定一个阈值 选出来对模型训练帮助最大的一些特征 筛选出重要变量后可以再训练模型 本文所用
  • linux学习第一篇:在VirtualBox下安装linux操作系统

    转载地址 https blog csdn net yuchao2015 article details 52132270 感谢博主提供如此详细的linux安装地址 目标 在linux服务器上部署Java开发的网站 工具 VirtualBox
  • 绕过CDN查找真实IP方法总结

    什么是CDN CDN的全称是Content Delivery Network 即内容分发网络 CDN是构建在现有网络基础之上的智能虚拟网络 依靠部署在各地的边缘服务器 通过中心平台的负载均衡 内容分发 调度等功能模块 使用户就近获取所需内容
  • c++(c#)单例模式

    TOC 单例顾名思义就是一个类只实例化一个单例对象 单例模式常见的写法有懒汉式和饿汉式 首先给出一个懒汉式的写法 include
  • Go面试必会基础题(5)

    Go面试必会基础题 1 Go面试必会基础题 2 Go面试必会基础题 3 Go面试必会基础题 4 Go面试必会基础题 5 Go面试必会基础题 6 文章目录 1 Goroutine 的调度器是如何工作的 2 在 Go 语言中如何进行内存对齐 3
  • Java死锁

    一 死锁是什么 死锁 当两个线程相互等待对方释放同步监视器便会发生死锁 死锁产生的4个必要条件 1 互斥条件 一个资源每次只能被一个线程使用 2 请求与保持条件 一个线程因请求资源而阻塞时 对已获得的资源保持不放 3 不剥夺条件 线程已获得
  • mathtype使用过程中出现MathType Error:too many windows are open.错误的解决方法。

    今天下午在写毕业论文的时候 中间有许多的公式 我用的是mathtype version6 9d 76 的 当使用了一段时间后 就会报如下的错误 解决办法如下 记住不用重新开机重启等 只需要把mathtype软件关闭后 在任务管理器的后台进程
  • linux 技能包【4】:yum源

    文章目录 一 配置yum源 客户端 1 1 本地yum源 1 2 网络yum源 阿里云 二 查看yum源 三 指定 yum 源 软件安装版本 四 指定软件安装版本 五 制作本地 yum 库 服务端 六 制作网络 yum 库 服务端 一 配置
  • 查看日志的常用Linux命令(持续更新)

    1 查询符合条件的行 grep 关键字1 文件名 log grep 关键字2 grep 关键字3 grep 如果要显示行号 可加参数 n grep n 关键字 文件名 log 如果要看到符合条件的行 以及其相邻的n行可以使用如下命令 gre
  • Linux(Ubuntu18.04)和Windows10 之间的局域网文件传输

    有的时候当你需要同时使用windows和Ubuntu时 存在两者之间的文件传输或者通信问题 大多数采用移动硬盘 U盘间接传输的方式 或者干脆使用虚拟机拖拽到同类型系统内的工具传输 有没有简单一点的方法轻松地把Windows文件放到Ubunt
  • 爱心代码(web前端)陈飞宇李峋同款【容易操作】

    文章目录 前言 一 效果图 二 操作步骤 第一步 第二步 第三步 第四步 第五步 第六步 源码 前言 最近随着电视剧 点燃我温暖你 的火热播出 剧中帅气学霸李洵的炫酷爱心代码也迅速火出了圈 爱心素材也异常火爆 我在这里整理了一份大家有需自取
  • rsync脚本+linux,rsync随机启动脚本,rsync脚本

    1 bin sh 2 3 BEGIN INIT INFO4 Provides rsyncd5 Required Start remote fs syslog6 Required Stop remote fs syslog7 Should S
  • mac上完成卸载IntelliJ IDEA 2019.3编辑器

    一 finder gt 应用程序 gt 直接删除idea 二 执行以下命令 rm rf Users 自己的用户名 Library Logs IntelliJIdea2019 3 rm rf Users 自己的用户名 Library Pref
  • 解析 slim.arg_scope

    def resnet arg scope weight decay 0 0001 is training True batch norm decay 0 997 batch norm epsilon 1e 5 batch norm scal
  • C++ 引用规则

    引用及其注意事项 1 引用没有定义 是一种关系型声明 声明它和原有某一变量 实体 的关系 古而类型与源类型保持一会 且不分配内存 与被引用的变量有相同的地址 2 声明的时候必须初始化 一经声明 不可变更 3 可对引用 再次引用 多次引用的结
  • [Leetcode] 76. 最小覆盖子串

    给你一个字符串 s 一个字符串 t 返回 s 中涵盖 t 所有字符的最小子串 如果 s 中不存在涵盖 t 所有字符的子串 则返回空字符串 注意 对于 t 中重复字符 我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量 如果 s 中存
  • 算法(公式法):判断是否完全平方数

    给定一个正整数 num 编写一个函数 如果 num 是一个完全平方数 则返回 True 否则返回 False 说明 不要使用任何内置的库函数 如 sqrt 示例 1 输入 16 输出 True 示例 2 输入 14 输出 False 利用公