27 lines
806 B
Plaintext
27 lines
806 B
Plaintext
{def lt_perfect
|
|
{def lt_perfect.sum
|
|
{lambda {:n :sum :i}
|
|
{if {> :i 1}
|
|
then {lt_perfect.sum :n
|
|
{if {= {% :n :i} 0}
|
|
then {+ :sum :i {floor {/ :n :i}}}
|
|
else :sum}
|
|
{- :i 1}}
|
|
else :sum }}}
|
|
{lambda {:n}
|
|
{let { {:n :n}
|
|
{:sqrt {floor {sqrt :n}}}
|
|
{:sum {lt_perfect.sum :n 1 {- {floor {sqrt :n}} 0} }}
|
|
{:foo {if {= {* :sqrt :sqrt} :n}
|
|
then 0
|
|
else {floor {/ :n :sqrt}}}}
|
|
} {= :n {if {= {% :n :sqrt} 0}
|
|
then {+ :sum :sqrt :foo}
|
|
else :sum}} }}}
|
|
-> lt_perfect
|
|
|
|
-> {S.replace \s by space in
|
|
{S.map {lambda {:i} {if {lt_perfect :i} then :i else}}
|
|
{S.serie 6 10000 2}}}
|
|
-> 28 496 8128 // 7500ms
|