java实现一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少
时间: 2023-10-04 10:07:13 浏览: 49
该题可以采用穷举法进行求解,即从1开始逐个尝试每个整数,判断是否符合要求。
Java代码实现如下:
```java
public class PerfectSquare {
public static void main(String[] args) {
for (int i = 1; ; i++) {
int x = i + 100; // 加上 100 后的数
int y = x + 168; // 再加上 168 后的数
// 判断 x 是否为完全平方数,y 是否为完全平方数
if (isPerfectSquare(x) && isPerfectSquare(y)) {
System.out.println("符合条件的整数为:" + i);
break;
}
}
}
// 判断一个数是否为完全平方数
public static boolean isPerfectSquare(int n) {
int sqrt = (int) Math.sqrt(n);
return sqrt * sqrt == n;
}
}
```
运行程序后,可以得到符合条件的整数为:21。
验证方法:
21 + 100 = 121,是一个完全平方数;
21 + 100 + 168 = 361,是一个完全平方数。