暴力解决,一个一个计算就可以了,应该是算枚举处理吧

#include<stdio.h>
#include<math.h>
int main(){
    long long n;
    while(scanf("%lld",&n)!=EOF){
        int count=0;
        for(int i=0;i<=n;i++){
            long long  t1=pow(i,2);
            long long t2=i;
            while(t2){
                if(t1%10!=t2%10){
                    break;
                }
                t1=t1/10;
                t2=t2/10;
            }
            if(t2==0){
                count++;
            }
        }
        printf("%d\n",count);
    }
    return 0;
}