41 lines
1 KiB
Text
41 lines
1 KiB
Text
{def S 123 12345 1234567 987654321 10001 -10001 -123 -100 100 -12345
|
|
1 2 -1 -10 2002 -2002 0}
|
|
-> S
|
|
|
|
{def middle3digits
|
|
{lambda {:w}
|
|
{let { {:w {abs :w}}
|
|
{:l {W.length {abs :w}}}
|
|
} {if {= {% :l 2} 0}
|
|
then has an even number of digits
|
|
else {if {< :l 3}
|
|
then has not enough digits
|
|
else {W.get {- {/ :l 2} 1} :w}
|
|
{W.get {/ :l 2} :w}
|
|
{W.get {+ {/ :l 2} 1} :w} }}}}}
|
|
-> middle3digits
|
|
|
|
|
|
{table
|
|
{S.map {lambda {:i}
|
|
{tr {td {@ style="text-align:right;"}:i:}
|
|
{td {middle3digits :i}}}}
|
|
{S}} }
|
|
->
|
|
123: 123
|
|
12345: 234
|
|
1234567: 345
|
|
987654321: 654
|
|
10001: 000
|
|
-10001: 000
|
|
-123: 123
|
|
-100: 100
|
|
100: 100
|
|
-12345: 234
|
|
1: has not enough digits
|
|
2: has not enough digits
|
|
-1: has not enough digits
|
|
-10: has an even number of digits
|
|
2002: has an even number of digits
|
|
-2002: has an even number of digits
|
|
0: has not enough digits
|