题解 | #自守数#
自守数
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
首先定义一个判断是否是自守数的函数,在后续的测试过程中进行调用,如果是自守数那么整体的数量就加一,反之就不进行计数