程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
public class Main {
public static void main(String[] args) {
int data = 0;
while (data <= 100000) {
if (isSquare(data + 100) && isSquare(data + 256)) {
System.out.println(data);
}
data++;
}
}
/**
* 判断一个数是不是完全平方数
*
* @param num 一个大于0的整数
* @return true 如果是完全平方数
*/
public static boolean isSquare(int num) {
if (num < 0)
return false;
for (int i = 1; num > 0; i += 2)
num -= i;
return 0 == num;
}
}
----结果错了哈哈哈更新一下---尴尬