日期:2014-05-20  浏览次数:20724 次

那位大神帮帮忙啊???
用Java编写一个程序,1到10000之间整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
------解决方案--------------------
伸手党一般没人帮忙。至少自己先提出思路,然后问问大家是否合理。或者有什么问题具体探讨。
------解决方案--------------------
这个数是:4256
------解决方案--------------------
就当做练习了:

    public static void main(String[] args) {
        // 存放结果
        Integer x;
        List<Integer> resultList = new ArrayList<Integer>();
        // 10000平方根为100,考虑到10268平方根,a,b范围应小于110大于10
        for (int a = 10; a <= 1000; a++) {// 假设目标数x+100的平方根为a
            x = a * a - 100;// 假设为目标值
            // 不能超过10000
            if (x > 10000) {
                break;
            }
            for (int b = 10; b <= 1000; b++) {// 假设目标数x+100+168的平方根为b
                // 当符合另外一个结果时,符合条件
                if (x == (b * b - 268)) {
                    // 不要重复
                    if (!resultList.contains(x)) {
                        resultList.add(x);
                    }
                }
            }
        }
        System.out.println("符合条件的整数如下:");
        for (int tmp : resultList) {
            System.out.println(tmp);
        }
    }