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是否平方数。这其实是运用的二分查找的思路,具体实现细节这里不做深究。

  • 相关阅读:
    艰苦的RAW格式数据恢复之旅
    smarty小技巧之6个标签
    smarty制作留言板的学习和思考
    ul 下的li 添加背景
    php.ini 配置详细选项
    fck与smarty的结合使用
    excel VBA 公式计算结果引用问题
    excel 统计字数公式
    bcp命令详解转载
    CTRL+C和CTRL+V不能使用的解决办法
  • 原文地址:https://www.cnblogs.com/chaohi/p/10697993.html
Copyright © 2011-2022 走看看