美文网首页
判断是否是完全平方数

判断是否是完全平方数

作者: ccpjsg | 来源:发表于2019-01-22 15:57 被阅读0次
      int mi=(int)sqrt((double)N);
      int flag=0;
      if(N==mi*mi) flag=1;
    

    这里是判断一个数是否是完全平方数的代码。经过测试,已经确定为正确。第三行的if判断语句是核心。但是我在正确之前有几个错误的写法,十分具有迷惑性。
    如下所示。

    1. if(N%mi==0) flag=1;
    2. if(N/mi==mi) flag=1
      这两个都是错的,但是十分具有迷惑性。
      我想主要还是因为C语言的数据类型的限制。比如N=200,那经过第一行的求开方之后的根有mi=14。第二个就可以看出是错的,此时200/14==14。但是很明显200并不是完全平方数。第一个可举例N=20,那mi=4,20%4==0。但是这里也很明显,20并非完全平方数。

    相关文章

      网友评论

          本文标题:判断是否是完全平方数

          本文链接:https://www.haomeiwen.com/subject/fdzljqtx.html