Desafio
Dado um número inteiro, n, como entrada onde 0 <= n <= 2^10
, gera o enésimo número par perfeito.
Números perfeitos
Um número perfeito é um número, x onde a soma de seus fatores (excluindo-se) é igual a x. Por exemplo, 6:
6: 1, 2, 3, 6
E, é claro 1 + 2 + 3 = 6
, então 6 é perfeito.
Se um número perfeito,, x
é par x mod 2 = 0
,.
Exemplos
A seguir, são apresentados os 10 primeiros números perfeitos:
6
28
496
8128
33550336
8589869056
137438691328
2305843008139952128
2658455991569831744654692615953842176
191561942608236107294793378084303638130997321548169216
Observe que você pode indexar isso da maneira que desejar: 6 pode ser o primeiro ou o 0º número perfeito.
Ganhando
O menor código em bytes vence.
Respostas:
Geléia , 7 bytes
Experimente online!
Como funciona
fonte
Mathematica, 13 bytes
Não é de surpreender que haja um built-in.
Exemplo:
fonte
MATL , 15 bytes
Muito devagar. Ele continua tentando aumentar os números um por um até que o n- ésimo número perfeito seja encontrado.
Experimente online!
Explicação
fonte
Pitão , 13 bytes
Experimente online!
Por favor, não tente um número maior. Apenas testa os números pares um por um.
fonte
05AB1E , 8 bytes
Experimente online!
Explicação
fonte
Python 2 ,
198 153 83 78 77 7574 bytesExperimente online!
Agora, apenas lê como psuedocode.
Economizei
45incontáveis bytes porque o @Leaky Nun me ensinou sobre a função soma e compreensão de lista.Economizou 2 bytes graças à sugestão de @ shooqie de remover os colchetes desnecessários.
Apenas iteramos todos os números pares até encontrarmos n números perfeitos.
fonte
g
é realmente justosum
.f
com uma compreensão da listak
, apenas diminuai
.PHP, 111 bytes
0-Indexação
Trabalha com o conceito de que um número perfeito é um número em que
n=x*y
x=2^i
ey=2^(i+1)-1
e y devem ser primosExperimente online!
fonte
Python 3 , 69 bytes
Experimente online!
fonte
Scala, 103 bytes
fonte
Haskell, 61 bytes
fonte
||x==1
. Você também pode salvar bytes movendo o!!
antes do parêntese de fechamento para criar uma seção de operador e substituindo ofilter
por outra compreensão da lista.JavaScript (ES6), 68 bytes
Mostrar snippet de código
fonte
Perl 6 , 42 bytes
O índice de entrada é baseado em 1.
fonte
Clojure, 79 bytes
Seguindo as especificações, uso pesado da
:when
condição de.fonte