首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-02-29 
判断一个数的平方根是否为整数怎么做?int mfloat nnsqrt(m)n%1.00?yes:no这样判断好像不行哎……怎么

判断一个数的平方根是否为整数怎么做?
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");          } 

热点排行