java 代码输入一个四个数字组成的整数 n,你的任务是数一数有多少种方法,恰好修改一个数字,把它 变成一个完全平方数(不能把首位修改成 0)。比如 n=7844,有两种方法:3844=622 和 7744=882。
时间: 2024-03-12 13:44:03 浏览: 84
好的,下面是一个 Java 版本的代码,与之前的 Python 版本类似:
```java
import java.lang.Math;
public class CountSquareNumbers {
public static int countSquareNumbers(int n) {
int count = 0;
String numStr = Integer.toString(n);
for (int i = 0; i < numStr.length(); i++) {
for (int j = 1; j <= 9; j++) {
if (i == 0 && j == 0) {
continue;
}
String newNumStr = numStr.substring(0, i) + Integer.toString(j) + numStr.substring(i+1);
int newNum = Integer.parseInt(newNumStr);
if (Math.sqrt(newNum) % 1 == 0) {
count += 1;
}
}
}
return count;
}
public static void main(String[] args) {
int n = 7844;
int count = countSquareNumbers(n);
System.out.println(count); // 输出 2
}
}
```
你可以将一个四位数传入 `countSquareNumbers` 方法,方法将会返回这个数字恰好修改一个数字能够得到一个完全平方数的方案数。
阅读全文