Nombres semi-parfaits
Un nombre semi-parfait / pseudo-parfait est un entier égal à la somme d'une partie ou de la totalité de ses diviseurs (à l'exclusion de lui-même). Les nombres qui sont égaux à la somme de tous leurs diviseurs sont parfaits.
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
Primitif
Un nombre semi-parfait primitif est un nombre semi-parfait sans diviseurs semi-parfait (sauf lui-même :))
Divisors of 6 : 1,2,3
6 = 1+2+3 -> primitive
Divisors of 12 : 1,2,3,4,6
12 = 2+4+6 -> semiperfect
Comme références, veuillez utiliser la série OEIS A006036 pour les nombres semi-parfaits primitifs et A005835 pour les semi- défauts parfaits.
Objectif
Écrivez un programme ou une fonction dans n'importe quelle langue. Il prendra en entrée un nombre n en tant que paramètre de fonction ou de STDIN / l'alternative la plus proche de votre langue, et affichera tous les nombres semi-parfaits primitifs de 1 à n (inclus).
La sortie doit être formatée comme 6[separator]20[separator]28[separator]88...
où [séparateur] est soit une nouvelle ligne, un espace ou une virgule. Il ne doit pas y avoir de [séparateur] de départ ni de fin.
Modifier: vous pouvez laisser une nouvelle ligne de fin
Exemples
contribution :
5
production :
contribution :
20
production :
6
20
contribution :
100
production :
6 20 28 88
Notation
C'est le code-golf, donc le code le plus court en octets gagne.
N'essayez pas de nous tromper avec des échappatoires s'il vous plaît :).
Je serais heureux que vous puissiez laisser une explication de votre code de golf une fois que vous pensez que vous avez fini de le jouer au golf!
K
àY
construireY
, ce qui est nécessaire ailleurs. Cependant, je pouvais faire l'impression séparément, comme avecaYKK
au lieu deeaYK
. Cependant, c'est 4 octets dans les deux cas.