Números semiperfeitos
Um número semiperfeito / pseudooperfeito é um número inteiro igual à soma de uma parte ou de todos os seus divisores (exceto ele próprio). Números iguais à soma de todos os seus divisores são perfeitos.
Divisors of 6 : 1,2,3
6 = 1+2+3 -> semiperfect (perfect)
Divisors of 28 : 1,2,4,7,14
28 = 14+7+4+2+1 -> semiperfect (perfect)
Divisors of 40 : 1,2,4,5,8,10,20
40 = 1+4+5+10+20 or 2+8+10+20 -> semiperfect
Primitivo
Um número semiperfeito primitivo é um número semiperfeito sem divisores semiperfeitos (exceto ele mesmo :))
Divisors of 6 : 1,2,3
6 = 1+2+3 -> primitive
Divisors of 12 : 1,2,3,4,6
12 = 2+4+6 -> semiperfect
Como referência, use a série OEIS A006036 para números semiperfeitos primitivos e A005835 para semiperfeitos.
Objetivo
Escreva um programa ou uma função em qualquer idioma. Ele terá como entrada um número n como parâmetro de função ou na alternativa mais próxima de STDIN / seu idioma e exibirá todos os números semi-perfeitos primitivos de 1 a n (inclusive).
A saída deve ser formatada como 6[separator]20[separator]28[separator]88...
onde [separador] é como nova linha, um espaço ou uma vírgula. Não deve haver um separador inicial nem final.
Editar: você pode deixar uma nova linha à direita
Exemplos
entrada :
5
resultado :
entrada :
20
resultado :
6
20
entrada :
100
resultado :
6 20 28 88
Pontuação
Isso é código-golfe, então o código mais curto em bytes vence.
Não tente nos enganar com brechas, por favor :).
Ficaria feliz que você pudesse deixar uma explicação sobre seu código de golfe assim que achar que já terminou de jogar!
K
aY
construirY
, que é necessário em outros lugares. No entanto, eu poderia fazer a impressão separadamente, como emaYKK
vez deeaYK
. É 4 bytes de qualquer maneira, no entanto.