输入一个整数
代表自守数的范围。
输出一个整数,代表
到
之间的自守数个数。
25
5
在这个样例中,
是自守数。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if (n <= 1) { //0和1只有1个和两个自守数,不用参与穷举,直接输出就行; System.out.println(n + 1); return; } if (n < 5) { //五以内自然数只有0和1两个自守数,同样直接输出; System.out.println(2); return; } System.out.println(String.valueOf(an(n))); } private static int an(int n ) { int count = 2; //直接从5开始穷举,已经至少有两个自守数了,所以计数初始就是2; for (int i = 5; i <= n; i++) { if (Math.pow(i, 2) % (Math.pow(10, String.valueOf(i).length())) == i) count++; /*有点绕,如果i是一位数,用i的平方模以10,即10的1次方, 如果i是两位数,则模以100,即10的2次方……以此类推,i的长度即作为10的 幂。最后用i的平方和10的n次幂取模运算,如果结果等于i,则i为自守数;*/ } return count; } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int m = sc.nextInt(); int count = 0; for (int i = 0; i <= m; i++) { if (((long) Math.pow(i, 2) + "").endsWith(i + "")) { count++; } } System.out.println(count); } }
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 count = 0; for(int i = 0; i <= n; i++){ if((i * i +"").endsWith(i+"")){ count++; } } System.out.println(count); } }
import java.util.Scanner; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line; while ((line = br.readLine()) != null) { int n = Integer.parseInt(line); int count = 0; for (int i = 0; i <= n; i++) { // 计算平方 int n2 = i * i; // 转换为字符串 String n2Str = String.valueOf(n2); String iStr = String.valueOf(i); // 从平方结果中截取最后n位,n = i的长度 String sub = n2Str.substring(n2Str.length() - iStr.length()); if (Integer.parseInt(sub) == i) { //System.out.println(i); count++; } } System.out.println(count); } } }
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 sum = 0; for (int i = 0; i <= n; i++) { int pow = i * i; if (String.valueOf(pow).endsWith(String.valueOf(i))) { sum++; } } System.out.println(sum); } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int a = in.nextInt(); int count = 0; for (int j = 0; j <= a; j++) { int c = j * j; if (String.valueOf(c).endsWith(String.valueOf(j))) { count ++; } } System.out.println(count); } } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { // 注意 while 处理多个 case int b = in.nextInt(); int count = 0; for(int i=0;i <=b;i++){ String c = ""+i*i; String d = ""+i; if(c.substring(c.length()-d.length(),c.length()).equals(d)){ count++; } } System.out.println(count); } } }
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(),cnt = 0; for(int i = 0;i <= n;i ++ ){ if((i*i+"").endsWith(i+"")) cnt++; } System.out.print(cnt); } }