Python3 自守数解题思路及案例

自守数

#如果一个数的平方的尾数几位等于这个数,那么称之为这个数为自守数
#如:55=25 66=36

题目分析:

#1、设置一个变量i,存储自守数,该数平方值的尾数长度应该等于len(i)
#2、通过10**k来取模,获取尾数的值(变量i)
#3、if判断

for i in range(1,10000):
    k=len(str(i))
    n=i*i % (10**k)
    if n == i:
        print("数值 %d 为自守数"%n)
列表解析代码
print(['数值 %s 为自守数'%n for n in range(1,10000) if n*n % (10**len(str(n))) == n ])

你可能感兴趣的:(金鞍少年的刷题之路,python自守数,自守数)