在指定范围内查找阿姆斯特朗数的Python程序
一个正整数如果满足一下条件则被称为阿姆斯特朗数:
abcd... = a^n + b^n + c^n + d^n + ...
比如说:
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 is an Armstrong number.
代码:查找100-2000之间的所有阿姆斯特朗数:
# Program to check Armstrong numbers in a certain interval lower = 100 upper = 2000 for num in range(lower, upper + 1): # order of number order = len(str(num)) # initialize sum sum = 0 temp = num while temp > 0: digit = temp % 10 sum += digit ** order temp //= 10 if num == sum: print(num)
输出如下:
153 370 371 407 1634
上面的代码,变量 lower 设置为下限 100,变量 upper 设置为上限 2000。 使用 for 循环从变量 lower 到 upper 进行循环迭代。 在迭代中,lower 的值每次增加 1,并检查它是否是 阿姆斯特朗数。
您可以通过更改变量 lower 和 upper 来更改范围并进行测试。 注意,变量lower 应该低于upper,这样程序才能正常工作。
相关文章