Middle three digits: Difference between revisions

Added PicoLisp
(Added PicoLisp)
Line 300:
 
Press any key to continue...</pre>
 
=={{header|PicoLisp}}==
<lang PicoLisp>(de middle3digits (N)
(let (Lst (chop (abs N)) Len (length Lst))
(tab (10 -2 -30)
N
":"
(cond
((> 3 Len) "not enough digits")
((bit? 1 Len)
(head 3 (nth Lst (/ Len 2))) )
(T "even number of digits") ) ) ) )</lang>
Test:
<lang PicoLisp>(mapc middle3digits
(123 12345 1234567 987654321 10001 -10001 -123 -100 100 -12345
1 2 -1 -10 2002 -2002 0 ) )</lang>
Output:
<pre> 123: 123
12345: 234
1234567: 345
987654321: 654
10001: 000
-10001: 000
-123: 123
-100: 100
100: 100
-12345: 234
1: not enough digits
2: not enough digits
-1: not enough digits
-10: not enough digits
2002: even number of digits
-2002: even number of digits
0: not enough digits</pre>
 
==={{header|PureBasic}}===
Anonymous user