【原】已知兩個完全平方三位數abc 和 xyz,其中a、 b、 c、 x、 y、 z 未必是不同的,而ax、 by、 cz 是三個完全平方數。求abc 和 xyz

private static void completeSquare() {
        // 遍歷 三位完全平方數 abc
        for (int i = 10, abc = i * i; abc <= 999; i++, abc = i * i) {
            // 遍歷 三位完全平方數 xyz
            for (int j = 10, xyz = j * j; xyz <= 999; j++, xyz = j * j) {
                // 聲明一個計數器,用於記錄末位構造數是完全平方數的次數
                int count = 0;
                int abcTemp = abc;
                int xyzTemp = xyz;
                //依次取出末位數字
                while ((abcTemp != 0) || (xyzTemp != 0)) {
                    // 取出 abc 和 xyz 末位
                    int abcLast = abcTemp % 10;
                    int xyzLast = xyzTemp % 10;
                    // 構造ax by cz
                    int lastNum = abcLast * 10 + xyzLast;
                    // 判斷構造數是不是完全平方數
                    int sqrt = (int) (Math.sqrt(lastNum));
                    if (lastNum == (sqrt*sqrt)) {
                        count++;
                    }
                    abcTemp /= 10;
                    xyzTemp /= 10;
                }
                if (count == 3) {
                    System.out.println("abc = " + abc + " xyz = " + xyz);
                }
            }
        }
    }

已知兩個完全平方三位數abc 和xyz,其中a、 b、 c、 x、 y、 z 未必是不同的,而ax、 by、 cz 是三個完全平方數。求abc 和 xyz

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章