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.

Open in Editor