Menu
CoddyTech

Armstrong Number

PoczątkującyMatematyka i symulacjapython iconjava iconcpp iconc iconjs icon+10

Liczba całkowita dodatnia jest liczbą Armstronga, gdy jest równa sumie swoich cyfr, z których każda jest podniesiona do potęgi równej liczbie jej cyfr. 153 ma trzy cyfry, a 1^3 + 5^3 + 3^3 = 153, więc jest taką liczbą. Napisz funkcję, która przyjmuje n i zwraca true, jeśli jest to liczba Armstronga, a w przeciwnym razie false.

Funkcja

isArmstrong(n: integer) → boolean
ninteger
liczba całkowita dodatnia do sprawdzenia
Zwracaboolean
prawda, gdy n jest równe sumie swoich cyfr, z których każda jest podniesiona do potęgi równej liczbie cyfr

Ograniczenia

  • 1 ≤ n ≤ 109

Przykłady

Wejście
n = 153
Wyjście
true
Wyjaśnienie
153 ma 3 cyfry, więc każda cyfra jest podnoszona do sześcianu: 1 + 125 + 27 = 153. Suma daje z powrotem tę liczbę, więc odpowiedź to true.

lock icon+31 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Tylko 31 liczb Armstronga mieści się w przedziale od 1 do 10^9. Czy potrafisz wymienić je wszystkie, nie testując po kolei miliarda liczb?

Zresetuj kod
def isArmstrong(n):
    # Napisz tutaj kod
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

n = 153

Oczekiwane

true