Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
87
Task/Digital-root/Applesoft-BASIC/digital-root.basic
Normal file
87
Task/Digital-root/Applesoft-BASIC/digital-root.basic
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
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,
|
||||
Loading…
Add table
Add a link
Reference in a new issue