14 lines
425 B
Text
14 lines
425 B
Text
using Printf
|
|
|
|
function middle3(n::Integer)
|
|
l = ndigits(n)
|
|
iseven(l) && error("n must have an odd number of digits")
|
|
l < 3 && error("n must have 3 digits or more")
|
|
mid = (l + 1) ÷ 2
|
|
abs(n) ÷ 10^(mid-2) % 10^3
|
|
end
|
|
|
|
for n = [123, 12345, 1234567, 987654321, 10001, -10001, -123,
|
|
-100, 100, -12345, 1, 2, -1, -10, 2002, -2002, 0]
|
|
@printf("%10d -> %s\n", n, try middle3(n) catch e e.msg end)
|
|
end
|