Java用字符串判断一个正整数是否为自守数
时间: 2023-02-06 07:55:47 浏览: 201
基于java的论坛系统的开题报告.docx
自守数是指一个数的平方的末尾几位等于该数本身的数。
例如,25是一个自守数,因为25^2=625,末尾两位数字是25。
要用字符串判断一个数是否为自守数,可以这样做:
1. 先将数字转换为字符串类型。
2. 计算出该数的平方,再将平方的结果转换为字符串类型。
3. 取出平方字符串的末几位数字(与原数字字符串长度相同),与原数字字符串比较是否相等。
例如:
```
int num = 25;
String numStr = String.valueOf(num); // 将数字转换为字符串
long square = (long)num * num; // 计算平方
String squareStr = String.valueOf(square); // 将平方结果转换为字符串
// 取出平方字符串的末几位数字
String lastDigits = squareStr.substring(squareStr.length() - numStr.length());
// 判断是否为自守数
if (numStr.equals(lastDigits)) {
System.out.println(num + "是自守数");
} else {
System.out.println(num + "不是自守数");
}
```
上面的代码会输出:25是自守数
注意:在计算平方时,要先将数字转换为long类型,因为int类型的数字平方可能会超出int类型的取值范围。
阅读全文