自守数
原创
©著作权归作者所有:来自51CTO博客作者wuyi_all_in的原创作品,请联系作者获取转载授权,否则将追究法律责任
#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