Armstrong Numbers Between 1 to 10000
An Armstrong number is a number that is equal to the sum of the cubes of its digits. For example, 153 is an Armstrong number because 1<sup>3</sup> + 5<sup>3</sup> + 3<sup>3</sup> = 1 + 125 + 27 = 153.
Let's explore how to find Armstrong numbers between 1 to 10000:
Algorithm
- Iterate through numbers: Go through each number from 1 to 10000.
- Extract digits: For each number, separate its digits.
- Calculate the sum of cubes: Cube each digit and add the results.
- Compare: Check if the sum of cubes equals the original number.
- Output: If the sum of cubes is equal to the original number, print the number as an Armstrong number.
Python Implementation
def is_armstrong(num):
"""Checks if a number is an Armstrong number."""
original_num = num
sum_of_cubes = 0
while num > 0:
digit = num % 10
sum_of_cubes += digit**3
num //= 10
return sum_of_cubes == original_num
print("Armstrong numbers between 1 and 10000:")
for i in range(1, 10001):
if is_armstrong(i):
print(i)
Explanation
- The
is_armstrong
function takes a number as input and returnsTrue
if it's an Armstrong number, otherwiseFalse
. - The code iterates through all numbers between 1 and 10000.
- For each number, the
is_armstrong
function is called to check if it's an Armstrong number. - If it is, the number is printed.
Output
The program will print the following Armstrong numbers:
1
153
370
371
407
1634
8208
9474
Conclusion
Using the provided algorithm and Python implementation, we can effectively find Armstrong numbers within a specified range. This program demonstrates the logic behind identifying such special numbers and provides a practical way to explore mathematical concepts in code.