Défi
Étant donné un entier, n, en tant qu'entrée où 0 <= n <= 2^10
, affiche le nième nombre pair parfait.
Des nombres parfaits
Un nombre parfait est un nombre, x où la somme de ses facteurs (à l'exclusion de lui-même) est égale à x. Par exemple, 6:
6: 1, 2, 3, 6
Et, bien sûr 1 + 2 + 3 = 6
, donc 6 est parfait.
Si un nombre parfait x
, est pair,x mod 2 = 0
.
Exemples
Voici les 10 premiers nombres même parfaits:
6
28
496
8128
33550336
8589869056
137438691328
2305843008139952128
2658455991569831744654692615953842176
191561942608236107294793378084303638130997321548169216
Notez que vous pouvez l'indexer comme vous le souhaitez: 6 peut être le 1er ou le 0ème nombre parfait même.
Gagnant
Le code le plus court en octets gagne.
Réponses:
Gelée , 7 octets
Essayez-le en ligne!
Comment ça fonctionne
la source
Mathematica, 13 octets
Sans surprise, il y a un intégré.
Exemple:
la source
MATL , 15 octets
Très lent. Il continue d'essayer d'augmenter les nombres un par un jusqu'à ce que le n- ème nombre parfait soit trouvé.
Essayez-le en ligne!
Explication
la source
Pyth , 13 octets
Essayez-le en ligne!
Veuillez ne pas essayer de numéro plus élevé. Il teste juste les nombres pairs un par un.
la source
05AB1E , 8 octets
Essayez-le en ligne!
Explication
la source
Python 2 ,
198153 83 78 77 7574 octetsEssayez-le en ligne!
Maintenant, il se lit comme un pseudo-code.
Enregistré
45innombrables octets parce que @Leaky Nun m'a appris la fonction de somme et la compréhension de la liste.Enregistrement de 2 octets grâce à la suggestion de @ shooqie de supprimer les crochets inutiles.
Nous parcourons simplement chaque nombre pair jusqu'à ce que nous ayons trouvé n nombres parfaits.
la source
g
est en fait justesum
.f
par une liste de compréhensionk
, décrémenter justei
.PHP, 111 octets
0-Indexation
Fonctionne avec le concept qu'un nombre parfait est un nombre où
n=x*y
x=2^i
ety=2^(i+1)-1
et y doivent être premiersEssayez-le en ligne!
la source
Python 3 , 69 octets
Essayez-le en ligne!
la source
Scala, 103 octets
la source
Haskell, 61 octets
la source
||x==1
. Vous pouvez également enregistrer des octets en déplaçant le!!
juste avant la parenthèse fermante pour créer une section opérateur et en remplaçant lefilter
par une autre liste de compréhension.JavaScript (ES6), 68 octets
Afficher l'extrait de code
la source
Perl 6 , 42 octets
L'index d'entrée est basé sur 1.
la source
Clojure, 79 octets
Suite à la spécification, utilisation intensive de l'
:when
état de for .la source