面接アルゴリズムの问题:1つの整数、それは100をプラスした后に1つの完全な平方数で、更に168をプラスしてまた1つの完全な平方数で、この数はいくらですか?


タイトル
1つの正の整数、それは100をプラスした後に1つの完全な平方数で、更に168をプラスしてまた1つの完全な平方数で、この数はいくらですか?
思想
まず正の整数を考慮し,負の整数は類似している.a+100=x*x*x+168=y*y則(y+x)(y-x)=168で、条件に合致する2つの因数(m,n)の積が168に等しいことを先に計算し、y-x=m;y+x=nでx=(n-m)/2である.最終:a=x*x-100.
コード#コード#
private static void fun() {
        int x;
        //   168   x*y  。       ,        m    Math.sqrt(N)
        for (int i = 1; i <= Math.sqrt(168); i++) {
            if(168%i==0){
                x=(168/i-i)/2;
                //x*x=a+100>100, so x>=10
                if(x>=10){
                    System.out.println(x*x-100);
                }

            }
        }
    }

やはりその言葉、アルゴリズムが悪いので、顔を殴ってください.