6
输出4
说明 有0,1,5,6这四个自守数 示例2 输入1
输出2
说明 有0, 1这两个自守数 思路: 用字符串来解决,需要将原数字 与它的平方数的末尾进行比较,如果该数等于末尾数字,则count++; 难点是根据原数的位数去判断平方数应该从第几位开始。根据25^2 = 625, 原数是2位,平方数是3位,要判断平方数的第2-3位和原数的比较,所以下标从1开始。为平方数长度减去原数字长度=1。再看 76^2=5776,从第2位开始,平方数位数减去原数位数=2.import java.util.*;
public class Main{
public static void main(Sring[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
int n = in.nextInt();
int count = 0;
for(int i = 0; i <= n; i++){
String s1 = String.valueOf(i*i);
String s2 = String.valueOf(i);
if(s2.equals(s1.substring(s1.length() - s2.length()))){
count++;
}
}
System.out.println(count);
}



