自守数_ios


#include<iostream>
#include<string>
using namespace std;


int main()
{
int n;
while(cin>>n)
{
if(n==0||n==1)cout<<1<<endl;
int count=2;
for(int i=3;i<n;i++)
{
int val=i*i;
//转化成字符串
string str_1=to_string(i);
string str_2=to_string(val);
//将后几位裁剪出来,进行对比
if(str_2.substr(str_2.size()-str_1.size(),str_1.size())==str_1)
count++;

}
cout<<count<<endl;
}

}

 


python代码:

while True:
try:
n=int(input())
anx=0
#遍历n次
for i in range(n+1):
num=i*i
length=len(str(i))
#转化成字符串比较
if str(i) ==str(num)[-length:]:
anx += 1
print(anx)
except:
break