Back to Practice Dashboard
Python BasicsEasy

Armstrong number

Learn how to solve the 'Armstrong number' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

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.

Constraints
  • 1 <= n <= 10^6

Examples

Example 1
Input
n = 153
Output
True
Explanation

153 has 3 digits. 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153. So it is an Armstrong number.

Example 2
Input
n = 370
Output
True
Explanation

370 has 3 digits. 3^3 + 7^3 + 0^3 = 27 + 343 + 0 = 370.

Example 3
Input
n = 123
Output
False
Explanation

123 has 3 digits. 1^3 + 2^3 + 3^3 = 1 + 8 + 27 = 36, which is not 123.

Need a Hint?
Use simple arithmetic operators (like modulo `%`, division `//`), conditional checks, or loops to inspect number properties.
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.

Open in Editor