Skip to content

Instantly share code, notes, and snippets.

@cfax
Last active March 24, 2022 15:06
Show Gist options
  • Save cfax/beeb1cb97d96e6d1566f8ba26e09c542 to your computer and use it in GitHub Desktop.
Save cfax/beeb1cb97d96e6d1566f8ba26e09c542 to your computer and use it in GitHub Desktop.
Sum all Armstrong numbers within a range
from decimal import Decimal
def is_armstrong_number(number):
digits = Decimal(number).as_tuple.digits()
exp = len(digits)
return sum(d**exp for d in digits) == number
def sum_all_armstrong_numbers(start, end):
start_, end_ = sorted([start, end])
return sum(number for number in range(start_, end_+1)
if is_armstrong_number(number))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment