<返回更多

Python中检测一个数是否为幻数/魔数

2023-03-27    信息科技云课堂
加入收藏

如果一个数字的各位数相加,得到一个新的数字的各位数继续相加,最后得到一个一位数字。如果这个数字是1,那么原来这个数字被称为一个幻数/魔数,英文称为magic numbers。

例如:1234=1+2+3+4=10; 1+0=1

1234是一个幻数。

现在,让我们在Python/ target=_blank class=infotextkey>Python中编写代码来检测幻数,使用while循环来迭代并计算数字的总和,直到它变成一个个位数。

第4,5,6行:n==0表示第一轮求和完成,n=sum,sum=0将求和结果赋值给n,清空sum,继续下一轮求和。

还有一种验证幻数的快捷方式。检测一个数除以9的余数是否为1。如果余数是1,那么这个数字是一个幻数。如果一个数字的各位数之和能被9整除,则该数字可以被9整除。因此,如果一个数字的各位数之和被9除余数为1,则该数字可以被9除余数为1。

查找两位数中的所有幻数

文中涉及代码:

for i in range(10,100): if i%9==1: print(f"{i}是一个幻数!") num=int(input('请输入一个数字:')) if num%9==1: print(f"{num}是一个幻数!") else: print(f"{num}不是一个幻数!") def Magic(n): sum=0 while n>0 or sum>9: if n==0: n=sum sum=0 sum = sum + n % 10 n = int(n / 10) return True if sum==1 else False num=int(input('请输入一个数字:')) if Magic(num): print(f"{num}是一个幻数!") else: print(f"{num}不是一个幻数!")
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>