输入一个整数
代表自守数的范围。
输出一个整数,代表
到
之间的自守数个数。
25
5
在这个样例中,
是自守数。
java实现,寻找规律
import java.util.Scanner;
import java.math.*;
// 注意类名必须为 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 i = 0; i <= a; i++){
int bit = i / 10;
int plus = 10;
while(bit != 0){
plus *= 10;
bit /= 10;
}
int temp = (i * i - i) % plus;
if (temp == 0){
count++;
}
}
System.out.println(count);
}
}
} 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);
}
}