Python中检测一个数是否为幻数/魔数
如果一个数字的各位数相加,得到一个新的数字的各位数继续相加,最后得到一个一位数字。如果这个数字是1,那么原来这个数字被称为一个幻数/魔数,英文称为magic numbers。
例如:1234=1+2+3+4=10; 1+0=1
1234是一个幻数。
现在,让我们在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}不是一个幻数!")
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!