您当前的位置:首页 > 计算机 > 编程开发 > Python

使用Python寻找黑洞数

时间:12-23来源:作者:点击数:

黑洞数是指这样的整数:由这个数字每位上的数字组成的最大数减去每位数字组成的最小数仍然得到这个数自身。例如3位黑洞数是495,因为954-459=495,4位数字是6174,因为7641-1467=6174。

本文重点在于内置函数sorted()和reversed()的用法。

def main(n):

    '''参数n表示数字的位数,例如n=3时返回495,n=4时返回6174'''

    #待测试数范围的起点和结束值

    start = 10**(n-1)

    end = 10**n

    #依次测试每个数

    for i in range(start, end):

        #由这几个数字组成的最大数和最小数

        big = ''.join(sorted(str(i),reverse=True))

        little = ''.join(reversed(big))

        big, little = map(int,(big, little))

        if big-little == i:

            print(i)

n = 4

main(n)

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门