Python Armstrong Number Checker
Überprüfen Sie, ob es sich bei einer Zahl um eine Armstrong-Zahl (narzisstische Zahl) handelt, bei der die Summe ihrer eigenen Ziffern hoch mit der Anzahl der Ziffern gleich der Zahl selbst ist.
Übersicht
Eine Armstrong-Zahl (auch bekannt als narzisstische oder plusperfekte digitalinvariante Zahl) ist eine n-stellige Zahl, die gleich der Summe der n-ten Potenzen ihrer Ziffern ist.
Beispielsweise ist 153 eine dreistellige Armstrong-Zahl, weil 1^3 + 5^3 + 3^3 = 153. Ebenso ist 9474 eine vierstellige Armstrong-Zahl, weil 9^4 + 4^4 + 7^4 + 4^4 = 9474.
Wir implementieren dies in Python, indem wir die Ganzzahl in eine Zeichenfolge konvertieren, um die Anzahl der Ziffern einfach zu zählen und jede Ziffer zu durchlaufen.
Code- und Ausführungsausgabe
Überprüfen Sie eine Reihe von Zahlen, um festzustellen, ob sie die mathematischen Kriterien für Armstrong-Zahlen erfüllen.
def is_armstrong(num):
num_str = str(num)
n = len(num_str)
digit_sum = sum(int(digit) ** n for digit in num_str)
return digit_sum == num
test_nums = [153, 370, 9474, 123]
for val in test_nums:
result = "Armstrong" if is_armstrong(val) else "Not Armstrong"
print(f"{val:4d} -> {result}") 153 -> Armstrong
370 -> Armstrong
9474 -> Armstrong
123 -> Not ArmstrongSchrittweise Umsetzung
- Zahlentheorie-Forschung und Logikübungen
- Mathe-Programmieraufgaben im Klassenzimmer
- Freizeitprogrammierung
Häufig gestellte Fragen
Sind alle einstelligen Zahlen Armstrong-Zahlen?
Ja. Jede einzelne Ziffer, die mit 1 potenziert wird, ist gleich sich selbst (z. B. 5^1 = 5).