输入一个四个数字组成的整数 n,你的任务是数一数有多少种方法,恰好修改一个数字,把它 变成一个完全平方数(不能把首位修改成 0)。比如 n=7844,有两种方法:3844=622 和 7744=882。 Java实现
时间: 2024-03-25 08:40:44 浏览: 30
以下是一个Java实现,使用了Math.sqrt()方法判断是否为完全平方数,使用了StringBuilder来修改数字:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int count = 0;
for (int i = 0; i < 4; i++) {
StringBuilder sb = new StringBuilder(Integer.toString(n));
for (int j = 0; j < 10; j++) {
if (i == 0 && j == 0) continue; // 第一位不能为0
sb.setCharAt(i, (char) (j + '0'));
int num = Integer.parseInt(sb.toString());
if (Math.sqrt(num) % 1 == 0) { // 判断是否为完全平方数
count++;
}
}
}
System.out.println(count);
}
}
```
该程序首先从标准输入中读取一个四位整数n,然后使用两个for循环,分别遍历每一位数字和0~9的数字,将其替换到n中对应的位置,然后判断新的数字是否为完全平方数,如果是,则计数器加1。最后输出计数器的值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)