Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
30
Task/Happy-numbers/Lambdatalk/happy-numbers.lambdatalk
Normal file
30
Task/Happy-numbers/Lambdatalk/happy-numbers.lambdatalk
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{def happy
|
||||
{def happy.sum
|
||||
{lambda {:n}
|
||||
{if {= {W.length :n} 1}
|
||||
then {pow {W.first :n} 2}
|
||||
else {+ {pow {W.first :n} 2}
|
||||
{happy.sum {W.rest :n}}}}}}
|
||||
{def happy.is
|
||||
{lambda {:x :a}
|
||||
{if {= :x 1}
|
||||
then true
|
||||
else {if {> {A.in? :x :a} -1}
|
||||
then false
|
||||
else {happy.is {happy.sum :x}
|
||||
{A.addlast! :x :a}}}}}}
|
||||
{def happy.rec
|
||||
{lambda {:n :a :i}
|
||||
{if {= {A.length :a} :n}
|
||||
then :a
|
||||
else {happy.rec :n
|
||||
{if {happy.is :i {A.new}}
|
||||
then {A.addlast! :i :a}
|
||||
else :a}
|
||||
{+ :i 1}}}}}
|
||||
{lambda {:n}
|
||||
{happy.rec :n {A.new} 0}}}
|
||||
-> happy
|
||||
|
||||
{happy 8}
|
||||
-> [1,7,10,13,19,23,28,31]
|
||||
Loading…
Add table
Add a link
Reference in a new issue