Armstrong number
Learn how to solve the 'Armstrong number' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
Write a function is_armstrong(n) that takes a positive integer n and returns True if it is an Armstrong number, or False otherwise. An Armstrong number (narcissistic number) is a number that equals the sum of its own digits each raised to the power of the number of digits. For example, 153 has 3 digits and 1^3 + 5^3 + 3^3 = 153.
- •1 <= n <= 10^6
Examples
n = 153
True
153 has 3 digits. 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153. So it is an Armstrong number.
n = 370
True
370 has 3 digits. 3^3 + 7^3 + 0^3 = 27 + 343 + 0 = 370.
n = 123
False
123 has 3 digits. 1^3 + 2^3 + 3^3 = 1 + 8 + 27 = 36, which is not 123.
Need a Hint?
Edge Cases to Watch
- Empty list or null input variables
- Single item lists/arrays
- Extremely large input bounds causing integer or stack overflow
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.