23 lines
782 B
Plaintext
23 lines
782 B
Plaintext
100 DEF FN L(N) = LEN(STR$(INT(ABS(N))))
|
|
110 DEF FN N(N) = VAL(MID$(STR$(INT(ABS(N))),(FN L(N)-1)/2,3))
|
|
120 DEF FN EVEN(N) = INT(N/2) = N/2
|
|
130 FOR I = 1 TO 20
|
|
140 READ N
|
|
150 PRINT N":",
|
|
160 GOSUB 100"MIDDLE THREE DIGITS
|
|
170 PRINT R$
|
|
180 NEXT
|
|
190 END
|
|
200 R$ = ""
|
|
210 IF FN EVEN(FN L(N)) THEN R$ = "?EVEN,"
|
|
220 IF FN L(N) < 3 THEN R$ = R$ + "ONLY " + STR$(FN L(N)) + " DIGIT" + MID$("S",FN L(N) - 1, 1)
|
|
230 IF RIGHT$(R$, 1) = "," THEN R$ = LEFT$(R$, LEN(R$) - 1) : RETURN
|
|
240 IF LEFT$(R$, 1) = "?" THEN RETURN
|
|
250 IF R$ <> "" THEN R$ = "?" + R$ : RETURN
|
|
260 R$ = STR$(FN N(N))
|
|
270 IF LEN(R$) = 1 THEN R$ = "00" + R$
|
|
280 IF LEN(R$) = 2 THEN R$ = "0" + R$
|
|
290 RETURN
|
|
300 DATA123,12345,1234567,987654321,10001,-10001,-123,-100,100,-12345
|
|
310 DATA1,2,-1,-10,2002,-2002,0
|