难度是如何确定自守数:采用String 的endWith
private static boolean isZiShouShu(int n) {
int re = n * n;
return Integer.toString(re).endsWith(Integer.toString(n));
}
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int a = in.nextInt();
int c = 0;
for (int i = 0; i <= a; i++) {
if (isZiShouShu(i)) {
c++;
}
}
System.out.println(c);
}
}
private static boolean isZiShouShu(int n) {
int re = n * n;
return Integer.toString(re).endsWith(Integer.toString(n));
}
}

京公网安备 11010502036488号