Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
25
Task/ABC-problem/Commodore-BASIC/abc-problem-1.basic
Normal file
25
Task/ABC-problem/Commodore-BASIC/abc-problem-1.basic
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
10 W$ = "A" : GOSUB 100
|
||||
20 W$ = "BARK" : GOSUB 100
|
||||
30 W$ = "BOOK" : GOSUB 100
|
||||
40 W$ = "TREAT" : GOSUB 100
|
||||
50 W$ = "COMMON" : GOSUB 100
|
||||
60 W$ = "SQUAD" : GOSUB 100
|
||||
70 W$ = "CONFUSE" : GOSUB 100
|
||||
80 END
|
||||
90 REM ********************************
|
||||
100 B$="BOXKDQCPNAGTRETGQDFSJWHUVIANOBERFSLYPCZM"
|
||||
110 FOR I=1 TO LEN(W$)
|
||||
120 : BL = LEN(B$)
|
||||
130 : FOR J=1 TO BL STEP 2
|
||||
140 : C$=MID$(B$,J,1): D$=MID$(B$,J+1,1)
|
||||
150 : X$=MID$(W$,I,1)
|
||||
160 : IF C$<>X$ AND D$<>X$ THEN GOTO 190
|
||||
170 : B$ = LEFT$(B$,J-1)+RIGHT$(B$,BL-J-1)
|
||||
180 : GOTO 210
|
||||
190 : NEXT J
|
||||
200 : IF J>BL-1 THEN GOTO 240
|
||||
210 NEXT I
|
||||
220 PRINT W$" -> YES"
|
||||
230 RETURN
|
||||
240 PRINT W$" -> NO"
|
||||
250 RETURN
|
||||
40
Task/ABC-problem/Commodore-BASIC/abc-problem-2.basic
Normal file
40
Task/ABC-problem/Commodore-BASIC/abc-problem-2.basic
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
100 REM RECURSIVE SOLUTION
|
||||
110 MS=100:REM MAX STACK DEPTH
|
||||
120 DIM BL$(MS):REM BLOCKS LEFT
|
||||
130 DIM W$(MS):REM REMAINING LETTERS
|
||||
140 DIM I(MS):REM LOOP CONTROL VARIABLE
|
||||
150 DIM RV(MS):REM RETURN VALUE
|
||||
160 SP=-1:REM STACK POINTER
|
||||
170 READ BL$
|
||||
180 PRINT "USING BLOCKS: "
|
||||
190 FOR I=1 TO LEN(BL$) STEP 2
|
||||
200 : PRINT"("MID$(BL$,I,2)")";
|
||||
210 NEXT I
|
||||
220 PRINT CHR$(13)
|
||||
230 READ W$
|
||||
240 IF W$="" THEN 320
|
||||
250 PRINT W$;"->";
|
||||
260 SP=SP+1:BL$(SP)=BL$:W$(SP)=W$
|
||||
270 GOSUB 350
|
||||
280 IF RV(SP) THEN PRINT "YES": GOTO 300
|
||||
290 PRINT "NO"
|
||||
300 SP=SP-1
|
||||
310 GOTO 230
|
||||
320 READ BL$
|
||||
330 IF BL$ THEN PRINT:GOTO 180
|
||||
340 END
|
||||
350 IF LEN(W$(SP))=0 THEN RV(SP)=-1:RETURN
|
||||
360 I(SP)=1
|
||||
370 IF I(SP)>=LEN(BL$(SP)) THEN RV(SP)=0:RETURN
|
||||
380 IF MID$(BL$(SP),I(SP),1) = LEFT$(W$(SP),1) THEN 410
|
||||
390 IF MID$(BL$(SP),I(SP)+1,1) = LEFT$(W$(SP),1) THEN 410
|
||||
400 GOTO 450
|
||||
410 W$(SP+1)=MID$(W$(SP),2)
|
||||
420 BL$(SP+1)=LEFT$(BL$(SP),I(SP)-1)+MID$(BL$(SP),I(SP)+2)
|
||||
430 SP=SP+1:GOSUB 350:SP=SP-1
|
||||
440 IF RV(SP+1) THEN RV(SP)=-1:RETURN
|
||||
450 I(SP)=I(SP)+2:GOTO 370
|
||||
460 DATA BOXKDQCPNAGTRETGQDFSJWHUVIANOBERFSLYPCZM
|
||||
470 DATA A, BORK, BOOK, TREAT, COMMON, SQUAD, CONFUSE, ""
|
||||
480 DATA ABABACAC,ABBA,""
|
||||
490 DATA ""
|
||||
Loading…
Add table
Add a link
Reference in a new issue