From f86a6bdc9b727b2283b2254b3545136dc5c950a7 Mon Sep 17 00:00:00 2001 From: ARRVINDH PK Date: Sat, 1 Nov 2025 09:34:57 +0530 Subject: [PATCH 1/2] Add algorithm to check Armstrong number --- maths/is_armstrong_number.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 maths/is_armstrong_number.py diff --git a/maths/is_armstrong_number.py b/maths/is_armstrong_number.py new file mode 100644 index 000000000000..b2ec5949c8b4 --- /dev/null +++ b/maths/is_armstrong_number.py @@ -0,0 +1,26 @@ +def is_armstrong_number(number: int) -> bool: + """ + Check if a number is an Armstrong number. + An Armstrong number is a number that is equal to the sum + of its own digits each raised to the power of the number of digits. + + >>> is_armstrong_number(153) + True + >>> is_armstrong_number(370) + True + >>> is_armstrong_number(371) + True + >>> is_armstrong_number(9474) + True + >>> is_armstrong_number(123) + False + """ + digits = str(number) + power = len(digits) + return number == sum(int(digit) ** power for digit in digits) + + +if __name__ == "__main__": + import doctest + + doctest.testmod() From 342b271a156133f8a31d4700134f940524201d2c Mon Sep 17 00:00:00 2001 From: ARRVINDH PK Date: Sat, 1 Nov 2025 09:59:28 +0530 Subject: [PATCH 2/2] Add algorithm to check Armstrong number --- maths/is_armstrong_number.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/maths/is_armstrong_number.py b/maths/is_armstrong_number.py index b2ec5949c8b4..e62e6f0f71cb 100644 --- a/maths/is_armstrong_number.py +++ b/maths/is_armstrong_number.py @@ -4,14 +4,10 @@ def is_armstrong_number(number: int) -> bool: An Armstrong number is a number that is equal to the sum of its own digits each raised to the power of the number of digits. + Wikipedia: https://en.wikipedia.org/wiki/Narcissistic_number + >>> is_armstrong_number(153) True - >>> is_armstrong_number(370) - True - >>> is_armstrong_number(371) - True - >>> is_armstrong_number(9474) - True >>> is_armstrong_number(123) False """