How to Determine the Armstrong Number?
- 时间:2020-09-21 09:15:21
- 分类:网络文摘
- 阅读:125 次
The k-digit number N is an Armstrong number if and only if the k-th power of each digit sums to N. Given a positive integer N, return true if and only if it is an Armstrong number.
Example 1:
Input: 153
Output: true
Explanation:
153 is a 3-digit number, and 153 = 1^3 + 5^3 + 3^3.Example 2:
Input: 123
Output: false
Explanation:
123 is a 3-digit number, and 123 != 1^3 + 2^3 + 3^3 = 36.Note:
1 <= N <= 10^8
Python to Check if a Integer is Armstrong
Do what it says. The solution should be quite intuitive. Two things need to be resolved: get the number of digits which could be done via converting to string and get the length or using the log10 math function. The second is to compute a^b which in Python this could be done simply by a**b.
Then, we need to extract the right-most digit by do the moduluo ten, and do the integer division using // in Python..
1 2 3 4 5 6 7 8 9 10 | class Solution: def isArmstrong(self, N: int) -> bool: s = 0 n = N l = len(str(N)) while n > 0: t = n % 10 n //= 10 s = s + (t ** l) return s == N |
class Solution:
def isArmstrong(self, N: int) -> bool:
s = 0
n = N
l = len(str(N))
while n > 0:
t = n % 10
n //= 10
s = s + (t ** l)
return s == N–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:求AB两站的路程 小玲和小聪收集各种卡片 三种水果共有多少千克 汽车比原计划早到1.5小时到达目的地 果园里有桔子树和梨树共360棵 原来定价时所期望的利润是多少元? 男生人数的40%比女生人数的一半还多3人 某工厂一、二车间共360人 将侧面积是94.2平方厘米的圆柱拼成一个近似的长方体 公交车共有多少张座位?
- 评论列表
-
- 添加评论