题解 | 自守数
解题思路:
- 直接for循环遍历
- 自守数: 直接通过求余出每一位数对比判断出来
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int rs = 2; for (int i = 2; i <= n; i++) { int b = i; int sqrt = i * i; boolean flag = true; while (b > 0) { flag = sqrt % 10 == b % 10; if (!flag) { break; } sqrt = sqrt / 10; b = b / 10;; } if (flag) { rs++; } } System.out.println(rs); } }