How to Determine the Armstrong Number?

  • 时间:2020-09-21 09:15:21
  • 分类:网络文摘
  • 阅读:132 次

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) —

推荐阅读:
Algorithm to Compute the Revenue Milestones  How to Modify the Git Commit Messages After Your Push Your Branc  Personal Cloud Options to Backup Data and Photos  Greedy Algorithm to Find the Lexicographically Smallest Sequence  ReactiveX/RxJava Tutorial: Compute the Fibonacci Numbers using R  What are Big4 Tech Companies looking for in the technical interv  Design a Moving Average Class for Data Stream  3 Ways to Protect Your Website from Negative SEO  Algorithm to Check if A String Matches a Pattern  How to Get Free HTTPS Certificates via acme.sh? 
评论列表
添加评论