两个数对10取余进行比较,然后再对10取除,循环。

#include<stdio.h>
int main(){
    int n;
    while(~scanf("%d",&n)){
        int count=0;
        for(int i=1;i<=n;i++){
            int m=i,n=i*i;
            while(m>0){
                if(m%10!=n%10) break;
                m /=10;
                n /=10;
                if(m==0) count++;
            }
        } printf("%d\n",count+1);   
    }
}