题解 | #自守数#
自守数
https://www.nowcoder.com/practice/88ddd31618f04514ae3a689e83f3ab8e
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int n = in.nextInt();
int num = 1;
for (int i = 1; i <= n; i++) {
if (ziShouShu(i)) {
num++;
}
}
System.out.println(num);
}
}
public static boolean ziShouShu(int n) {
int m = n * n;
int quyu = 1;
for (int i = 0; i < weiShu(n); i++) {
quyu = quyu * 10;
}
if (n == m % quyu) {
return true;
} else {
return false;
}
}
public static int weiShu(int n) {
int count = 0;
while (n > 0) {
n = n / 10;
count++;
}
return count;
}
}
查看10道真题和解析
