Back to Practice Dashboard
Python BasicsEasy
Armstrong number in a given range
Learn how to solve the 'Armstrong number in a given range' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
Easy
Write a function armstrongs_in_range(a, b) that takes two integers a and b (where a <= b) and returns a list of all Armstrong numbers in the range [a, b] inclusive, in ascending order. An Armstrong number is a number that equals the sum of its digits each raised to the power of the number of digits.
Constraints
- •1 <= a <= b <= 10^5
Examples
Example 1
Input
a = 100, b = 500
Output
[153, 370, 371, 407]
Explanation
The Armstrong numbers between 100 and 500 are 153, 370, 371, and 407.
Example 2
Input
a = 1, b = 9
Output
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Explanation
All single-digit numbers are Armstrong numbers since d^1 = d.
Example 3
Input
a = 200, b = 300
Output
[]
Explanation
There are no Armstrong numbers between 200 and 300.
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.