半完美数字
半完美/伪完美数是一个等于其除数的一部分或全部(不包括自身)的总和的整数。等于所有除数之和的数字是完美的。
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。
目标
用任何语言编写程序或函数。它将以数字n作为函数参数或从STDIN /您的语言最接近的替代品中输入,并将输出从1到n(包括1和n)的所有原始半完美数字。
输出的格式必须为6[separator]20[separator]28[separator]88...
[分隔符]为换行符,空格或逗号。不得有开始的[分隔符]或结尾的分隔符。
编辑:您可以留下尾随换行符
例子
输入:
5
输出:
输入:
20
输出:
6
20
输入:
100
输出:
6 20 28 88
计分
这是代码高尔夫球,因此以字节为单位的最短代码获胜。
请不要试图通过漏洞来欺骗我们:)。
我很高兴您认为自己打完高尔夫球后就可以对高尔夫球代码进行解释了!
K
到Y
buildY
,这是其他地方所需要的。但是,我可以单独打印,例如使用aYKK
代替eaYK
。但是,无论哪种方式都是4字节。