Python 中的阿姆斯特朗数
pythonserver side programmingprogramming更新于 2025/10/26 18:52:17
假设我们有一个 k 位数字 N。当每个数字的 k 次幂之和为 N 时,N 就是阿姆斯特朗数。因此,如果它是阿姆斯特朗数,我们必须返回 true,否则返回 false。
为了解决这个问题,我们将遵循以下步骤 −
- power := 位数
- temp := n, res = 0
- 当 temp 不为 0 时
- res := res + (temp mod 10) ^ power
- temp := temp / 10 //整数除法
- 如果 res = n,则返回 true,否则返回 false。
示例
让让我们看看下面的实现以获得更好的理解 −
import math class Solution(object): def poww(self,base,power): res = 1 while power: if power & 1: res *= base base *= base power>>=1 return res def isArmstrong(self, n): power =int(math.log10(n)) + 1 temp = n res = 0 while temp: res += (self.poww(temp%10,power)) temp//=10 return res == n ob1 = Solution() print(ob1.isArmstrong(153))
输入
153
输出
true
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

