题解 | #自守数#
自守数
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; } } }
雪域灰灰刷题笔记 文章被收录于专栏
雪域灰灰刷题笔记