读书人

判断一个数的平方根是否为整数如何做

发布时间: 2012-02-29 16:44:10 作者: rapoo

判断一个数的平方根是否为整数怎么做?
int m;
float n;
n=sqrt(m);
n%1.0==0?yes:no;
这样判断好像不行哎……怎么改呢?

[解决办法]
if(m * m) == n不就行了吗?如果不是整数,则是无穷的,由于精度原因,如果根不是整数,相乘后也不是整数
[解决办法]
if(m * m == n)
[解决办法]
int m;
float n;
n=sqrt(m);

int k = (int)n;
if (k*k == m)
//yes
else
//no


[解决办法]
要用整数判:

C/C++ code
#include <stdio.h>#include <math.h>int main(){      int x,y;      scanf("%d",&x);      y=(int)sqrt(x);      if (x==y*y)          printf("ok\n");          else            printf("no\n");          } 

读书人网 >C++

热点推荐