1 GOSUB 430"BASE SETUP 2 FOR E = 0 TO 1 STEP 0 3 GOSUB 7"READ 4 ON E + 1 GOSUB 50, 10 5 NEXT E 6 END 7 READ N$ 8 E = N$ = "" 9 RETURN 10 GOSUB 7"READ BASE 20 IF E THEN RETURN 30 BASE = VAL(N$) 40 READ N$ 50 GOSUB 100"DIGITAL ROOT 60 GOSUB 420: PRINT " HAS AD"; 70 PRINT "DITIVE PERSISTENCE"; 80 PRINT " "P" AND DIGITAL R"; 90 PRINT "OOT "X$";" : RETURN REM DIGITAL ROOT OF N$, RETURNS X$ AND P 100 P = 0 : L = LEN(N$) 110 X$ = MID$(N$, 2, L - 1) 120 N = LEFT$(X$, 1) = "-" 130 IF NOT N THEN X$ = N$ 140 FOR P = 0 TO 1E38 150 L = LEN(X$) 160 IF L < 2 THEN RETURN 170 GOSUB 200"DIGIT SUM 180 X$ = S$ 190 NEXT P : STOP REM DIGIT SUM OF X$, RETURNS S$ 200 S$ = "0" 210 R$ = X$ 220 L = LEN(R$) 230 FOR L = L TO 1 STEP -1 240 E$ = "" : V$ = RIGHT$(R$, 1) 250 GOSUB 400 : S = LEN(S$) 260 ON R$ <> "0" GOSUB 300 270 R$ = MID$(R$, 1, L - 1) 280 NEXT L 290 RETURN REM ADD V TO S$ 300 FOR C = V TO 0 STEP 0 310 V$ = RIGHT$(S$, 1) 320 GOSUB 400 : S = S - 1 330 S$ = MID$(S$, 1, S) 340 V = V + C : C = V >= BASE 350 IF C THEN V = V - BASE 360 GOSUB 410 : E$ = V$ + E$ 370 IF S THEN NEXT C 380 IF C THEN S$ = "1" 390 S$ = S$ + E$ : RETURN REM BASE VAL 400 V = V(ASC(V$)) : RETURN REM BASE STR$ 410 V$ = V$(V) : RETURN REM BASE DISPLAY 420 PRINT N$; 421 IF BASE = 10 THEN RETURN 422 PRINT "("BASE")"; 423 RETURN REM BASE SETUP 430 IF BASE = 0 THEN BASE = 10 440 DIM V(127), V$(35) 450 FOR I = 0 TO 35 460 V = 55 + I - (I < 10) * 7 470 V$(I) = CHR$(V) 480 V(V) = I 490 NEXT I : RETURN 500 DATA627615,39390,588225 510 DATA393900588225 1000 DATA,30 1010 DATADIGITALROOT 63999DATA,