zoukankan      html  css  js  c++  java
  • 判断一个整数是否平方数

    如果一个数字,是另一个数字的平方,就说这个数是平方数。

    如何判断一个数字K,是否平方数呢?

    方法一:

    我们知道:以1为首项,2为公差的等差数列的求和公式为n^2.

    所以要判断数K是否平方数,只须:

    从该等差数列的左边开始,K不断的减数列的项,直至减不过为止。

    此时如果k的值变为0,则k为平方数,并且执行减法的次数即是k的平方根!

    方法二:

    也可以用K不断的去除素数列,从2开始,不断除2,至不能整除,再接着除3,至不能整除,然后接着5、7、11.。。。,一直除到K的值为1! 然后看它刚才整除过的那些素数,如果这些素数可以分成两个完全相同的集合。那么K是平方数。并且分成的集合的所有元素之积就是K的平方根!

    方法三:

    如果K的位数是奇数,比如位数为5,那么K的平方根必然是在100和320之间,先判断220的平方和K的大小,如果小于K,那么再判断220与320的中位数的平方与k的大小,反之判断100和220的中位数的平方与k的大小。如此不断迭代下去,就可以判断K是否平方数。这其实是运用的二分查找的思路,具体实现细节这里不做深究。

  • 相关阅读:
    Windows 系统变量大全
    linux编程
    CSS 对齐操作
    php 和 表单 简单交互
    HTML <input> placeholder 属性
    HTML <label> 标签
    Chap-4 Section 4.4 C++相关问题
    Chap-4 Section 4.3 COMMON块
    Chap-4 Section 4.2.4 指令修正方式
    Chap-4 Section 4.2.3 符号解析
  • 原文地址:https://www.cnblogs.com/chaohi/p/10697993.html
Copyright © 2011-2022 走看看