目 录
-
数字黑洞说明 -
水仙花数黑洞(153黑洞) -
4-2-1黑洞(421黑洞) -
西绪福斯黑洞(123黑洞) -
四位数黑洞(6174黑洞) -
三位数黑洞(495黑洞)
一 数字黑洞 含义
数字黑洞就是按一定的数字运算规律,反复迭代运算后,必然有得到一个特定的结果。
二 水仙花数黑洞(153黑洞)
任意一个3的倍数的数,按以下步骤进行计算,结果都是153。
步骤
-
输入一个3的倍数; -
新数:将每个数位都立方,再相加; -
按2的步骤计算….. -
最终进入 153 黑洞
水仙花数黑洞 源代码
time1 = 0
n = input("一个3的倍数:")
while n!="153":
time1 += 1
n1 = 0
for i in n:
n1 += int(i)**3
n=str(n1)
print("第%d次,数字为%s"%(time1,n))
三 4-2-1黑洞(421黑洞)
一个正整数,按以下步骤进行计算,结果都是4 – 2 – 1。
步骤
-
输入一个正整数; -
奇数则乘以3+1; -
是偶数则除以2; -
按2~3的步骤计算….. -
最终进入 4-2-1 黑洞
4-2-1黑洞 源代码
time1 = 0
n = int(input("一个正整数:"))
while n!=1:
time1 += 1
if n%2==0:
n//=2
else:
n=n*3+1
print("第%d次,数字为%s"%(time1,n))
四 西绪福斯黑洞(123黑洞)
按以下步骤进行计算,任何数最终结果都无法逃出123黑洞。
步骤
-
输入一个任意的整数; -
偶数个数:数一下,整数中偶数的个数; -
奇数个数:数奇数的个数; -
全部个数:数整数的位数; -
得到新数:偶+奇+总; -
新数按2~5的步骤计算….. -
最终进入 123 黑洞
西绪福斯黑洞 源代码
time1 = 0 #用于记录次数的变量
#获取用户输入,n是字符串格式的数字,如"550"
n = input(":")
# 当n不是123的时候执行
while n!="123":
o = 0 #用于记录偶数的个数
j = 0 #记录奇数的个数
time1 += 1
# 遍历数字,求偶数奇数的个数
for i in n:
a = int(i) #当前数变整数
if a%2 == 0: #判断是否为偶数
o += 1
else:
j += 1
n = str(o) + str(j) + str(o+j) #新数字
print("第%d次,数字为%s"%(time1,n))
五 四位数黑洞(6174黑洞)
任意一个四位数,按以下步骤进行计算,结果都是6174。
步骤
-
输入一个四位数的整数(不要都一样的); -
新数1:四个数字从小到大排列; -
新数2:四个数字从大到小排列; -
新数:新数2 – 新数1; -
按2~4的步骤计算….. -
最终进入 6174 黑洞
四位数黑洞 程序源代码
time1 = 0
n = input("一个四位数:")
while n!="6174":
time1 += 1 #记录次数
n = list(n) #将数字转为列表
n.sort() #从小到大排序
n1 = "".join(n) #结合成新数
n.sort(reverse=True) #从大到小排序
n2 = "".join(n) #结合成新数2
n3 = int(n2) - int(n1) #求差
n = str(n3) #转为字符串
print("第%d次,数字为%s"%(time1,n))
六 三位数黑洞(495黑洞)
三位数黑洞和四位数黑洞方法一样。
本文结束
如有疑问,请直接留言!必回!
如有帮助,请点赞转发!感谢!
我用实战的方法自学了多种编程语言,
希望把实战速学的方法传播给更多的人,
你的一赞之力就能让更多人看到。
关注Python入门速学,
带你实战快速学Python
原文始发于微信公众号(Python入门速学):Python新手练习:5大神奇数字黑洞的验证
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/236420.html