Menu
CoddyTech

Perfect Number

n'nin öz böleni, n'nin kendisinden küçük pozitif bir bölenidir. Mükemmel sayı, öz bölenlerinin toplamına eşittir: 6 = 1 + 2 + 3. Pozitif bir tam sayı olan n veriliyor. n mükemmelse true, değilse false döndürün.

Fonksiyon

isPerfect(n: integer) → boolean
ninteger
test edilecek pozitif tam sayı
Döndürürboolean
n, kendisi dışındaki pozitif bölenlerinin toplamına eşitse true, aksi takdirde false

Kısıtlar

  • 1 ≤ n ≤ 108

Örnekler

Girdi
n = 28
Çıktı
true
Açıklama
28 sayısının kendisi dışındaki pozitif bölenleri 1, 2, 4, 7 ve 14'tür. Bunların toplamı 28 olduğundan, 28 mükemmeldir.

lock iconGönderirken +16 gizli test

challenge icon

Ek soru

Her çift mükemmel sayı, 2^(p-1) × (2^p-1) biçimindedir; burada 2^p-1 asaldır. Her sayıyı tek tek test etmeden bu formülle 10^8'den küçük tüm mükemmel sayıları listeleyebilir misin?

Kodu sıfırla
def isPerfect(n):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

n = 28

Beklenen

true