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