题解 | #自守数#
自守数
https://www.nowcoder.com/practice/88ddd31618f04514ae3a689e83f3ab8e
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int n = in.nextInt();
int count = 0;
for (int i = 0; i <= n; i++) {
if (test(i)) {
count++;
}
}
System.out.println(count);
}
}
public static boolean test(int n) {
if (n <= 1) {
return true;
} else {
int sum = 0;
int temp = n * n;
while (n > 0 ) {
//n%10取最后一位
if (temp % 10 != n %10) {
return false;
}
n = n / 10;//去掉最后一位
temp = temp /10;
}
return true;
}
}
}
查看11道真题和解析