饭后一道题,天天好心情~
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
今天这道题有点意思,关键就在于开方算法的实现~~
结果为 156- package day6;
- /**
- * 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
- *
- * @author yellowbaby
- *
- */
- public class Test {
- public static void main(String[] args) {
- for (int i = 0; i < 1000000; i++) {
- if (isSquareNum(i + 100) && isSquareNum(i + 168)) {
- System.out.println(i);
-
- }
- }
- }
- /**
- * 用Math类判断num是否能被开方
- */
- private static boolean isSquareNum(int num) {
- Double sqrtNum = Math.sqrt(num);
- if (sqrtNum.intValue() == sqrtNum) {
- return true;
- }
-
- return false;
- }
- /**
- * 不用Math类判断num是否能被开方
- */
- private static boolean isSquareNum2(int num) {
- int i = 0;
- while (i * i < num) {
- i++;
- }
- if (i * i == num) {
- return true;
- }
- return false;
- }
- }
复制代码 做完后,瞄了一眼答案,发现Math类有更强大的方法,只是我一直在想如何开方,没有想过可以算n次方。。
|