题解 | #自守数#
自守数
https://www.nowcoder.com/practice/88ddd31618f04514ae3a689e83f3ab8e
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
private static int count = 0;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = 1;
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
n = in.nextInt();
}
int result = result(n);
System.out.print(result);
}
private static int result(int n){
if(n <= 4){
return 2;
} else if(n == 5){
return 3;
} else if(n < 10){
return 4;
}
for(int i=10;i<=n;i++){
find(i);
}
return count + 4;
}
private static void find(int an){
int a = an * an;
if((a - an) % mod(an) == 0){
count += 1;
}
}
private static int mod(int n){
if(n < 100){
return 100;
} else if(n < 1000){
return 1000;
} else if (n < 10000){
return 10000;
} else {
return 100000;
}
}
}
雪域灰灰刷题笔记 文章被收录于专栏
雪域灰灰刷题笔记

查看1道真题和解析