RosettaCodeData/Task/Self-describing-numbers/Liberty-BASIC/self-describing-numbers.basic
2023-07-01 13:44:08 -04:00

19 lines
388 B
Text

'adapted from BASIC solution
FOR x = 1 TO 5000000
a$ = TRIM$(STR$(x))
b = LEN(a$)
FOR c = 1 TO b
d$ = MID$(a$, c, 1)
v(VAL(d$)) = v(VAL(d$)) + 1
w(c - 1) = VAL(d$)
NEXT c
r = 0
FOR n = 0 TO 10
IF v(n) = w(n) THEN r = r + 1
v(n) = 0
w(n) = 0
NEXT n
IF r = 11 THEN PRINT x; " is a self-describing number"
NEXT x
PRINT
PRINT "End"