题目:自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。 请求出n(包括n)以内的自守数的个数 数据范围: 1≤n≤10000 输入描述: int型整数 输出描述: n以内自守数的数量。
例:输入6 ,输出4,因为0,1,5,6都是自守数
public class Demo16 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int a = in.nextInt();
System.out.println("自守数总数:" + getNum(a));
}
}
private static int getNum(int num) {
int result = 0;
for (int i = 0; i <= num; i++) {
int square = i * i;
if (String.valueOf(square).endsWith(String.valueOf(i))) {
System.out.print(i + "的平方等于:" + square + " ,");
result++;
}
}
return result;
}
}
如果大家需要视频版本的讲解,欢迎关注我的B站: