题解 | #自守数#
自守数
http://www.nowcoder.com/practice/88ddd31618f04514ae3a689e83f3ab8e
#居然一次性通过了。。。还以为要处理0的特殊情况呢。。。
while True:
try:
n = int(input())
count = 0
for i in range(n+1):
#下面这部分主要是计划当前数据的位数,以便于决定从i*i的结果中取出末尾几位数
temp = i
len_i = 0
while(temp!=0):
temp = int(temp/10)
len_i+=1
#从i*i中取出相应的位数,与原数对比,相等则计算上。
if (i*i) % (10**len_i) == i:
count+=1
print(count)
except:
break