实现算法的JAVA语言
时间: 2023-08-06 07:05:26 浏览: 72
好的,以下是实现该算法的 Java 代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int count = countSquareNumbers(n);
System.out.println(count);
}
public static int countSquareNumbers(int n) {
int count = 0;
for (int i = 1; i < 10; i++) {
char[] digitArr = Integer.toString(n).toCharArray();
for (int j = 0; j < digitArr.length; j++) {
if (j == 0 && i == 0) {
continue;
}
char originalDigit = digitArr[j];
digitArr[j] = (char) (i + '0');
int newNum = Integer.parseInt(new String(digitArr));
if (isPerfectSquare(newNum)) {
count++;
}
digitArr[j] = originalDigit;
}
}
return count;
}
public static boolean isPerfectSquare(int num) {
int root = (int) Math.sqrt(num);
return root * root == num;
}
}
```
代码中,`countSquareNumbers` 函数实现了上述算法,`isPerfectSquare` 函数用于判断一个数是否为完全平方数。在 `main` 函数中,读入数字 `n`,调用 `countSquareNumbers` 函数求解并输出结果。
希望能帮助到你!
阅读全文