自学Python:寻找自守数

作者: 小强聊成长 | 来源:发表于2021-12-10 12:23 被阅读0次

什么是自守数?

自守数是指一个数的平方的尾数等于该数自身的自然数。例如,5的平方=25,尾数等于5,25的平方=625,尾数等于25。

如果要求1000以内的自守数有那些如何实现呢?

下面直接上代码:

########################

if __name__=="__main__":

    print("1000以内的自守数:")

    for zss in range(0, 1000):

        n = zss

        k = 1

        while (n // 10) > 0:  # 由zss的位数确定截取数字进行乘法时的系数k

            n //= 10

            k *= 10

        a = k * 10        # a为截取部分积时的系数

        n = 0          # 积的最后n位

        b = 10 # b为截取乘数相应位时的系数

        while k > 0:

            # (部分积+截取被乘数的后N位×截取乘数的第M位),%a再截取部分积

            n = (n + (zss % (k * 10))*(zss % b - zss % (b //  10)))%a

            k //= 10                        # k为截取被乘数时的系数

            b *= 10

        if zss == n:          # 判定若为自守数,则输出

            print("%ld " %zss, end="\t")

########################

执行结果如下:

1000以内的自守数:

0 1 5 6 25 76 376 625

________________END______________

相关文章

  • 自学Python:寻找自守数

    什么是自守数? 自守数是指一个数的平方的尾数等于该数自身的自然数。例如,5的平方=25,尾数等于5,25的平方=6...

  • 自学Python:寻找亲密数

    所谓亲密数就是如果整数A的全部因子(包括1,不包括A本身)之和等于B,且整数B的全部因子(包括1,不包括B本身)之...

  • 自学Python:寻找水仙花数

    什么是水仙花数? 水仙花数是指一个三位数,其各位数字的立方和等于该数本身,例如,153是“水仙花数”,因为153=...

  • 基于C语言实现的网吧管理系统-背单词-自守数-进制转换

    1 求解自守数 1.1 问题描述 判断任意输入的某数,是否是自守数。如果一个自然数的平方数的尾部仍然为该自然数本身...

  • 自学Python:寻找窃贼

    警察审问4名窃贼嫌疑犯。现在已知,这4人当中仅有一名是窃贼,还知道这4个人中的每个人要么是诚实的,要么总是说谎。 ...

  • 自学Python:寻找素数

    什么是素数? 素数是指除了1和它本身以外再没有其他因子的自然数。 在数论中,素数是最纯粹也最令人着迷的概念。在所有...

  • 自学Python:求完数

    先说什么是完数? 如果一个数等于它的因子(因子就是所有可以整除这个数的数)之和,则称该数为“完数”(或“完全数”)...

  • 自学Python:计算回文数

    要说什么是回文数?就得先说说什么是回文。 “回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字...

  • 自学Python:寻找可逆素数

    可逆素数是什么? 可逆素数是指一个素数将其各位数字的顺序倒过来构成的反序数也是素数。 请从小到大输出所有4位数的可...

  • 自学Python:寻找孪生素数

    什么是孪生素数? 所谓孪生素数指的是间隔为2的两个相邻素数,因为它们之间的距离已经近得不能再近了,如同孪生兄弟一样...

网友评论

    本文标题:自学Python:寻找自守数

    本文链接:https://www.haomeiwen.com/subject/nmigxrtx.html