半完全数
半完全/擬似完全数は、その除数の一部またはすべての和(それ自体を除く)に等しい整数です。すべての約数の合計に等しい数は完全です。
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
原始的
原始半完全数は、半完全除数のない半完全数です(それ自体は除く:))
Divisors of 6 : 1,2,3
6 = 1+2+3 -> primitive
Divisors of 12 : 1,2,3,4,6
12 = 2+4+6 -> semiperfect
参考文献として、OEISシリーズご使用くださいA006036プリミティブ擬似完全数のため、およびA005835 semiperfectsのために。
ゴール
プログラムまたは関数を任意の言語で作成します。関数パラメーターとして、またはSTDIN /ご使用の言語の最も近い代替から数値nを入力として受け取り、1からnまでのすべてのプリミティブな半完全な数値を出力します。
出力は6[separator]20[separator]28[separator]88...
、[separator]が改行、スペース、またはコンマのいずれかであるようにフォーマットする必要があります。開始[セパレータ]または終了[セパレータ]があってはなりません。
編集:末尾の改行を残すことができます
例
入力:
5
出力:
入力:
20
出力:
6
20
入力:
100
出力:
6 20 28 88
得点
これはコードゴルフなので、バイト単位の最短コードが優先されます。
ゴルフを終えたと思ったら、ゴルフのコードの説明を残していただければ幸いです!
K
する必要があります。ただし、の代わりになど、個別に印刷することもできます。ただし、どちらの場合も4バイトです。Y
Y
aYKK
eaYK