100 REM Mayan numerals 110 DIM D(6) 120 LET MaxM = UBOUND(D)! maximum number of digits 130 DIM L$(0 TO 5) 140 FOR I = 0 TO 5 150 READ L$(I) 160 NEXT I 170 LINE INPUT PROMPT "Number: ": I$ 180 LET M = LEN(I$) 190 IF M > MaxM THEN LET M = MaxM 200 FOR I = 1 TO M 210 LET D(I) = VAL(MID$(I$, I, 1)) 220 NEXT I 230 FOR J = M - 1 TO 1 STEP -1 240 FOR I = 1 TO J 250 LET D(I + 1) = D(I + 1) + 10 * (MOD(D(I), 2)) 260 LET D(I) = INT(D(I) / 2) 270 NEXT I 280 NEXT J 290 LET S = 1 300 DO WHILE D(S) = 0 AND S < M 310 LET S = S + 1 320 LOOP 330 FOR I = S TO M 340 PRINT "+----"; 350 NEXT I 360 PRINT "+" 370 FOR L = 3 TO 0 STEP -1 380 FOR I = S TO M 390 IF D(I) = 0 AND L = 0 THEN 400 PRINT "| @ "; 410 ELSE 420 LET N = D(I) - 5 * L 430 IF N > 5 THEN 440 LET N = 5 450 ELSEIF N < 0 THEN 460 LET N = 0 470 END IF 480 PRINT "|"; L$(N); 490 END IF 500 NEXT I 510 PRINT "|" 520 NEXT L 530 FOR I = S TO M 540 PRINT "+----"; 550 NEXT I 560 PRINT "+" 570 DATA " "," . "," .. ","... ","....","----" 580 END