/**
* 利用sqrt函数的返回值预期强转类型返回值进行比较
* @param a
* @return
*/
public static boolean isSquare(int a){
if (a < 0)
return false;
if ((int) Math.sqrt(a) == Math.sqrt(a))
return true;
else return false;
}
/**
* 公式法:x^n=1+3+5+.....+2*n-1
*
* @param a
* @return
*/
public static boolean isSquare1(int a){
if (a < 0)
return false;
for (int i = 1; a > 0; i += 2)
a -= i;
if (a == 0)
return true;
else return false;
}
/**
* 从1到x/2逐一筛选是否存在i*i==x
* @param x
* @return
*/
public static boolean isSquare2(int x){
if(x<0)
return false;
for(int i=1;i<x/2;i++){
if(i*i==x)
return true;
}
return false;
}
10-12
153