首页 文章资讯内容详情

Python中的阿姆斯特朗数

2026-06-04 1 花语

假设我们有一个k位数字N。当每个数字的k次幂加到N时,N是一个Armstrong数字。因此,如果它是Armstrong数字,则必须返回true,否则返回false。

为了解决这个问题,我们将遵循以下步骤-

幂:=数字位数

温度:=n,res=0

当温度不为0时

res:=res+(tempmod10)^幂

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