46 lines
1.0 KiB
Plaintext
46 lines
1.0 KiB
Plaintext
#APPTYPE CONSOLE
|
|
|
|
DIM numbers AS STRING = "123,12345,1234567,987654321,10001,-10001,-123,-100,100,-12345,1,2,-1,-10,2002,-2002,0"
|
|
DIM dict[] = Split(numbers, ",")
|
|
DIM num AS INTEGER
|
|
DIM num2 AS INTEGER
|
|
DIM powered AS INTEGER
|
|
|
|
FOR DIM i = 0 TO COUNT(dict) - 1
|
|
num2 = dict[i]
|
|
num = ABS(num2)
|
|
IF num < 100 THEN
|
|
display(num2, "is too small")
|
|
ELSE
|
|
FOR DIM j = 9 DOWNTO 1
|
|
powered = 10 ^ j
|
|
IF num >= powered THEN
|
|
IF j MOD 2 = 1 THEN
|
|
display(num2, "has even number of digits")
|
|
ELSE
|
|
display(num2, middle3(num, j))
|
|
END IF
|
|
EXIT FOR
|
|
END IF
|
|
NEXT
|
|
END IF
|
|
NEXT
|
|
|
|
PAUSE
|
|
|
|
FUNCTION display(num, msg)
|
|
PRINT LPAD(num, 11, " "), " --> ", msg
|
|
END FUNCTION
|
|
|
|
FUNCTION middle3(n, pwr)
|
|
DIM power AS INTEGER = (pwr \ 2) - 1
|
|
DIM m AS INTEGER = n
|
|
m = m \ (10 ^ power)
|
|
m = m MOD 1000
|
|
IF m = 0 THEN
|
|
RETURN "000"
|
|
ELSE
|
|
RETURN m
|
|
END IF
|
|
END FUNCTION
|