Menu
CoddyTech

Perfect Number

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

Dzielnik właściwy liczby n to dodatni dzielnik mniejszy od samej liczby n. Liczba doskonała jest równa sumie swoich dzielników właściwych: 6 = 1 + 2 + 3. Otrzymujesz dodatnią liczbę całkowitą n. Zwróć true, jeśli n jest doskonała, a w przeciwnym razie false.

Funkcja

isPerfect(n: integer) → boolean
ninteger
testowana dodatnia liczba całkowita
Zwracaboolean
true, jeśli n jest równe sumie swoich dzielników właściwych, false w przeciwnym razie

Ograniczenia

  • 1 ≤ n ≤ 108

Przykłady

Wejście
n = 28
Wyjście
true
Wyjaśnienie
Właściwe dzielniki liczby 28 to 1, 2, 4, 7 i 14. Ich suma wynosi 28, więc 28 jest liczbą doskonałą.

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

challenge icon

Pytanie dodatkowe

Każda parzysta liczba doskonała ma postać 2^(p-1) × (2^p-1), gdzie 2^p-1 jest liczbą pierwszą. Czy potrafisz wypisać wszystkie liczby doskonałe mniejsze niż 10^8 za pomocą tego wzoru, bez testowania każdej liczby?

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

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

n = 28

Oczekiwane

true