题解 | #自守数#
自守数
https://www.nowcoder.com/practice/88ddd31618f04514ae3a689e83f3ab8e
def is_zishou(a):
num_2 = int(a **2)
char_num_2 = str(num_2)
char_a = str(a)
# 是否是自守数
result = False
for i in range(len(char_num_2)):
# print(char_num_2[i:len(char_num_2)])
if char_num_2[i:len(char_num_2)] == char_a:
result = True
break
return result
while True:
try:
a = int(input())
num = 0
for i in range(0, a+1):
if is_zishou(i):
num += 1
print(num)
except:
break
首先定义一个判断是否是自守数的函数,在后续的测试过程中进行调用,如果是自守数那么整体的数量就加一,反之就不进行计数
正浩创新EcoFlow公司福利 660人发布
