Desafío
Dado un número entero, n, como entrada donde 0 <= n <= 2^10
, genera el enésimo número par perfecto.
Números perfectos
Un número perfecto es un número, x donde la suma de sus factores (excluyéndose a sí mismo) es igual a x. Por ejemplo, 6:
6: 1, 2, 3, 6
Y, por supuesto 1 + 2 + 3 = 6
, entonces 6 es perfecto.
Si un número perfecto x
, es par x mod 2 = 0
,.
Ejemplos
Los siguientes son los primeros 10 números pares perfectos:
6
28
496
8128
33550336
8589869056
137438691328
2305843008139952128
2658455991569831744654692615953842176
191561942608236107294793378084303638130997321548169216
Tenga en cuenta que puede indexar esto como lo desee: 6 puede ser el 1 ° o el 0 ° número par perfecto.
Victorioso
El código más corto en bytes gana.
Respuestas:
Jalea , 7 bytes
Pruébalo en línea!
Cómo funciona
fuente
Mathematica, 13 bytes
No es sorprendente que haya una función incorporada.
Ejemplo:
fuente
MATL , 15 bytes
Muy lento. Se sigue intentando número cada vez mayor de uno en uno hasta que el n se encuentra -ésimo número perfecto.
Pruébalo en línea!
Explicación
fuente
Pyth , 13 bytes
Pruébalo en línea!
Por favor no intente ningún número más alto. Simplemente prueba los números pares uno por uno.
fuente
05AB1E , 8 bytes
Pruébalo en línea!
Explicación
fuente
Python 2 ,
198153 83 78 77 7574 bytesPruébalo en línea!
Ahora solo se lee como psuedocode.
Guardado
45Bytes Innumerables porque @Leaky Nun me enseñó acerca de la función suma y la lista por comprensión.Ahorró 2 bytes gracias a la sugerencia de @ shooqie de eliminar los corchetes innecesarios.
Simplemente iteramos a través de cada número par hasta que hayamos encontrado n números perfectos.
fuente
g
realidad es justosum
.f
con una lista de comprensiónk
, solo decrementoi
.PHP, 111 bytes
0-indexación
Funciona con el concepto de que un número perfecto es un número donde
n=x*y
x=2^i
ey=2^(i+1)-1
e y deben ser primosPruébalo en línea!
fuente
Python 3 , 69 bytes
Pruébalo en línea!
fuente
Scala, 103 bytes
fuente
Haskell, 61 bytes
fuente
||x==1
. También puede guardar bytes moviendo el!!
paréntesis justo antes del cierre para crear una sección de operador y reemplazando elfilter
con otra lista de comprensión.JavaScript (ES6), 68 bytes
Mostrar fragmento de código
fuente
Perl 6 , 42 bytes
El índice de entrada está basado en 1.
fuente
Clojure, 79 bytes
Siguiendo las especificaciones, uso intensivo de la
:when
condición de for .fuente