计算任意位数的黑洞数

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

def max( x ):data=[]while x/1!=0:k=x%10x=x//10data.append(k)   #计算出它的个 十 百  千... 位data.sort(reverse=-1)   #逆序排   求最大值  类似[2,3,1]->  [3,2,1]data1=map(str,data)data2="".join(data1)  #连接操作x=int(data2)return xdef min( x ):data=[]while x/1!=0:k=x%10x=x//10data.append(k)    #计算出它的个 十 百  千... 位data.sort()data1=map(str,data)data2="".join(data1)x=int(data2)return xx=int( input ('请输入几位数')  )
set1=set()
for i in range( 10**(x-1),10**x ):y=max(i)-min(i)if y==i:set1.add( i )
if len(set1)!=0:for i in set1:print(x,'位数的黑洞数为:',i)
else:print(x,'位数中没有黑洞数')

在这里插入图片描述
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部