【题目13】解三元2次方程组

【程序13】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

package com.share.test11_20;

/**
 * 【程序13题目:<br>
 * 完全平方即用一个整数乘以自己例如1*1,2*2,3*3等,依此类推。<br>
 * 若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。<br>
 * 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?    
 * 
 * @author brx
 */
public class Test13 {
    public static void main(String[] args) {
        test1();
    }

    /**
     * 思路1:<br>
     * 用数学思维来分解问题为平方差公式,再用计算机的穷举循环判断<br>
     * 这种方法的优点是能够将所有的整数都找出来,而不用担心穷举的范围不够<br>
     * x+100=y*y<br>
     * x+100+168=z*z<br>
     * y*y+168=z*z<br>
     * (z+y)(z-y)=168<br>
     * 找出z和y就能够求出x,将168分解出两个因数,<br>
     * 然后判断这连个因数之和除以2因数之差除以2分别是不是整数<br>
     * 【注意:】<br>
     * 将循环控制次数中的168该为13可以去掉重复出现的情况,因为两数相乘的中间就是平方, <br>
     * 找出离168最近但又比168的平方数169的平方根13
     */
    public static void test() {
        for (int i = 1; i <= 168; i++) {
            int m = 0, n = 0;
            if (168 % i == 0) {
                m = i;
                n = 168 / i;
                if ((m + n) % 2 == 0 && (m - n) % 2 == 0) {
                    int z = (m + n) / 2;
                    int y = (m - n) / 2;
                    int x = z * z - 268;
                    System.out.print("该数为:【" + x + "】   ");
                    System.out.print(x + "+100=" + y + "*" + y + "  ");
                    System.out.println(x + "+268=" + z + "*" + z + "  ");
                }
            }
        }
    }
    /**
     * 思路2:<br>
     * 直接暴力的使用判断将穷举循环判断,只要控制穷举地范围够大就能包含所有结果<br>
     * 判断是整数的方法很妙
     */
    public static void test1(){
        for(long i=-100000;i<100000;i++){
            if(Math.sqrt((i+100))%1==0&&Math.sqrt((i+100+168))%1==0){
                System.out.println(i);
            }
        }
    }
    
    
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 10,542评论 0 41
  • 【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子...
    Xplorist阅读 3,283评论 0 0
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 5,950评论 0 2
  • 第一章数和数的运算 一概念 (一)整数 1整数的意义 自然数和0都是整数。 2自然数 我们在数物体的时候,用来表示...
    meychang阅读 7,662评论 0 5
  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,589评论 1 19

友情链接更多精彩内容