Wyzwanie
Biorąc pod uwagę liczbę całkowitą n, jako dane wejściowe, gdzie 0 <= n <= 2^10
wypisuje n-tą, nawet idealną liczbę.
Idealne liczby
Liczba idealna to liczba, x, gdzie suma jej czynników (wyłączając siebie) wynosi x. Na przykład 6:
6: 1, 2, 3, 6
No i oczywiście 1 + 2 + 3 = 6
6 jest idealne.
Jeśli doskonałego numeru, x
jest nawet x mod 2 = 0
.
Przykłady
Oto 10 pierwszych nawet idealnych liczb:
6
28
496
8128
33550336
8589869056
137438691328
2305843008139952128
2658455991569831744654692615953842176
191561942608236107294793378084303638130997321548169216
Zauważ, że możesz to zindeksować, jak chcesz: 6 może być 1. lub 0. nawet idealną liczbą.
Zwycięski
Najkrótszy kod w bajtach wygrywa.
Odpowiedzi:
Galaretka , 7 bajtów
Wypróbuj online!
Jak to działa
źródło
Mathematica, 13 bajtów
Nic dziwnego, że jest wbudowany.
Przykład:
źródło
MATL , 15 bajtów
Bardzo wolno. Próbuje zwiększać liczby jeden po drugim, aż do n liczba idealna zostanie znaleziona.
Wypróbuj online!
Wyjaśnienie
źródło
Pyth , 13 bajtów
Wypróbuj online!
Proszę nie próbować żadnej wyższej liczby. Po prostu testuje liczby parzyste jeden po drugim.
źródło
05AB1E , 8 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
Python 2 ,
198 153 83 78 77 7574 bajtówWypróbuj online!
Teraz po prostu czyta się jak kod psuedocode.
Zapisano
45niezliczonych bajtów, ponieważ @Leaky Nun nauczyła mnie funkcji sumowania i zrozumienia listy.Zaoszczędzono 2 bajty dzięki sugestii @ shooqie, aby usunąć niepotrzebne nawiasy.
Po prostu iterujemy każdą liczbę parzystą, aż znajdziemy n liczb doskonałych.
źródło
g
jest właściwie sprawiedliwysum
.f
listąk
, tylko dekrementacjai
.PHP, 111 bajtów
Indeksowanie 0
Współpracuje z koncepcją, że idealny jest to numer, gdzie
n=x*y
x=2^i
iy=2^(i+1)-1
oraz Y musi być primeWypróbuj online!
źródło
Python 3 , 69 bajtów
Wypróbuj online!
źródło
Scala, 103 bajty
źródło
Haskell, 61 bajtów
źródło
||x==1
. Możesz także zapisać bajty, przesuwając!!
tuż przed nawiasem zamykającym, aby utworzyć sekcję operatora, i zastępującfilter
ją inną listą.JavaScript (ES6), 68 bajtów
Pokaż fragment kodu
źródło
Perl 6 , 42 bajtów
Indeks wejściowy jest oparty na 1.
źródło
Clojure, 79 bajtów
Zgodnie ze specyfikacją, intensywne użycie
:when
warunku for .źródło