数字黑洞是哪个数,六位数的数字黑洞是多少
偶尔看一些关于数字黑洞的东西,只是为了练习迭代和函数的使用,所以写个小程序,用4位数显示数字黑洞。(4位数黑洞是6174。
摘自百度:
黑洞数也叫陷阱数。任意多个具有奇异变换特征的整数都是同一个整数。经过位错差的有限运算,可以得到几个数。利用这些数,也就是黑洞数的位错差运算,就构成了这个数的数。
本来黑洞是一个天文概念,代表一个引力场强大到连光都无法逃脱的天体。借用数学这个词,指的是某种运算。这种运算一般从一个整数开始,经过反复迭代,必然会落到一个点或几个点。这种情况被称为数字黑洞。
也可以制造其他数字黑洞。
#!编码=utf-8
以#函数的形式递归
efmath_hole(:
# c作为一个全局变量,不仅从外部输入,而且通过引用计算。
全局c
将空字符串#a放入函数的好处是A轮询一次,然后清除并重置它。否则,在后面使用append会无限增加这个列表。
a=[]
对于c值:
a .追加(值)
#a对列表进行升序排序,得到一个新的列表
a.sort())
引号中的#是连接符号,如“*”。join,a*b和join,这是将列表连接成字符串的方法。
m=int(。加入)(a)))
#a对列表进行降序排序,得到一个新的列表。从这一步可以看出,真正的A并没有变。但是,使用排序功能后,显示会有所不同。
a.sort(reverse=true)).
n=int(。加入)(a)))
如果你打印两个数字,把它们相减,就会是另一个数字。请记住这点!输出时逗号改变空格。
print(n,-,m,=,n-m))
#c必须是要查询的字符串
#以下步骤避免计算时C为3位,不足3位时加0。
t=len(str(n-m))
如果t==4:
c=str(n-m))).
否则:
c=str(n-m ) 0) * (4- t))))).
#作为轮询调用返回参数
Return (n,m,c))。
C=input(请输入四个不完全相同的数字))
虽然正确:
math_hole()
如果c==6174 :
#再次显示意味着重复开始出现。
math_hole()
布莱克
执行后的代码:
c: users administrator appdata local programs python python 36 python . exed:/python _ work
请输入四个不同的数字5621。
6521 - 1256=5265
6552 - 2556=3996
9963 - 3699=6264
6642 - 2466=4176
7641 - 1467=6174
7641 - 1467=6174
以退出代码0完成