当前位置: 代码迷 >> J2SE >> 完全平方数有关问题
  详细解决方案

完全平方数有关问题

热度:4202   发布时间:2013-02-25 00:00:00.0
完全平方数问题
public class TestSqure {

/**
* @param args
*/
public static void main(String[] args) {
for(int i=0;i<100000;i++) {
if(Math.sqrt(i + 100) % 1 == 0) {
if(Math.sqrt(i + 268) % 1 == 0) {
System.out.println(i + "加100是一个完全平方数,再加上168又是一个完全平方数");
}
}
}

}

}
为什么这个数开平方除以1的余数等于0就是完全平方数呢

------解决方案--------------------------------------------------------
Math.sqrt()结果是double类型,一个不是整数的double 如1.4与1取余数结果是0.4;
而一个整数与1取余结果肯定是0;
Math.sqrt(i + 100) % 1 == 0就是判断 Math.sqrt(i + 100) 是否是整数
另(一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数,也叫做平方数)
  相关解决方案