
CLS

'Moldura...
COLOR 11
LOCATE 1, 1: PRINT STRING$(80, CHR$(196))
LOCATE 3, 1: PRINT STRING$(80, CHR$(196))
LOCATE 23, 1: PRINT STRING$(80, CHR$(196))

FOR R = 1 TO 23
    LOCATE R, 1: PRINT CHR$(179)
    LOCATE R, 80: PRINT CHR$(179)
NEXT R

'FOR t = 3 TO 23
'LOCATE t, 36: PRINT CHR$(179)
'NEXT t

LOCATE 3, 1: PRINT CHR$(195)
LOCATE 3, 80: PRINT CHR$(180)
LOCATE 1, 80: PRINT CHR$(191)
LOCATE 23, 80: PRINT CHR$(217)
LOCATE 23, 1: PRINT CHR$(192)
LOCATE 1, 1: PRINT CHR$(218)
'LOCATE 23, 36: PRINT CHR$(193)
'LOCATE 3, 36: PRINT CHR$(194)
'LOCATE 9, 1: PRINT CHR$(195)
'LOCATE 9, 36: PRINT CHR$(180)

'Mostra Data
d$ = MID$(DATE$, 1, 3)
c$ = MID$(DATE$, 4, 3)
e$ = MID$(DATE$, 7, 4)
f$ = c$ + d$ + e$

COLOR 11: LOCATE 2, 24: PRINT "* * *  Prime numbers * * *":
LOCATE 2, 70: PRINT TIME$
LOCATE 2, 4: PRINT f$: COLOR 7

'------------------------------------------------------------------------

DIM g AS LONG

DIM cor1(80) 'AS STRING
DIM nt$(9000000)

'_DEFINE A-Z AS _INTEGER64

'DO
g = 0
h = 4

OPEN "prime.txt" FOR INPUT AS #1
RecordOn = LOF(1) \ 46 + 1

FOR t = 1 TO RecordOn - 1
    SEEK #1, (t - 1) * 46 + 1
    LINE INPUT #1, t$
    nt$(t) = t$
    COLOR 15: LOCATE 4, 24: PRINT RIGHT$("0000", (LEN("0000") - LEN(LTRIM$(STR$(t))))) + LTRIM$(STR$(t)): COLOR 7
NEXT
CLOSE

COLOR 15: LOCATE 4, 3: PRINT "Number of records =>"; RecordOn - 1: COLOR 7
COLOR 13: LOCATE 22, 5: PRINT "Type [S] to EXIT ..."
COLOR 15
'LOCATE 6, 3: PRINT "                                                                             "
'LOCATE 6, 14:: PRINT "_____________________________________________"

'LOCATE 6, 4: INPUT "Dezenas => ", r$

recor$ = "02 03 05 07 11 13 17 19 23"


FOR S = 8 TO 20
    'LOCATE S, 2: PRINT "                                                                       "
NEXT S

'LOCATE 6, 3: PRINT "                                                                             "
' LOCATE 7, 4: PRINT "Dezenas => "; recor$
' COLOR 7

IF r$ = "s" THEN
    PLAY "o3l32ceff+g"
    PLAY "mfo4l64ceg>c"

    SYSTEM
END IF

FOR recor = 1 TO RecordOn - 1
    IF h > 19 THEN
        COLOR 13: LOCATE 22, 42: PRINT "Press Enter to continue ...."
        COLOR 7
        DO
        LOOP UNTIL INKEY$ = CHR$(13) '13 ‚ o c¢digo ASCII para Enter.
        LOCATE 22, 4: PRINT "                                                                        "

        FOR S = 5 TO 20
            LOCATE S, 2: PRINT "                                                                 "
        NEXT S

        h = 4
    END IF

    h = h + 1
    x = 8

    COLOR 15: LOCATE h, x - 5: PRINT RIGHT$("0000", (LEN("0000") - LEN(LTRIM$(STR$(recor))))) + LTRIM$(STR$(recor)); " => ": COLOR 7

    FOR i = 1 TO 44 STEP 3
        x = x + 3
        tt$ = MID$(nt$(recor), i, 2)
        FOR R = 1 TO LEN(recor$) STEP 3
            O$ = MID$(recor$, R, 2)
            IF tt$ = O$ THEN
                g = g + 1
                cor1(g) = i
                R = LEN(recor$)
            ELSE
                COLOR 7: LOCATE h, x: PRINT tt$
            END IF
        NEXT R
    NEXT i

    IF g <= 1 THEN
        LOCATE h, 2: PRINT "                                           "
        h = h - 1
        g = 0
    END IF

    IF g = 2 THEN
        COLOR 6
        P2 = P2 + 1
        LOCATE 5, 67: PRINT " = "; "P2 =>"; P2
        LOCATE h, x + 3: PRINT "=>";: PRINT " 2 Prime"
        FOR ag = 1 TO 2
            LOCATE h, 10 + cor1(ag): PRINT MID$(nt$(recor), cor1(ag), 2)
        NEXT ag
        COLOR 7
    END IF


    IF g = 3 THEN
        COLOR 8
        P3 = P3 + 1
        LOCATE 6, 67: PRINT " = "; "P3 =>"; P3
        LOCATE h, x + 3: PRINT "=>";: PRINT " 3 Prime"
        FOR ag = 1 TO 3
            LOCATE h, 10 + cor1(ag): PRINT MID$(nt$(recor), cor1(ag), 2)
        NEXT ag
        COLOR 7
    END IF

    IF g = 4 THEN
        COLOR 9
        P4 = P4 + 1
        LOCATE 7, 67: PRINT " = "; "P4 =>"; P4
        LOCATE h, x + 3: PRINT "=>";: PRINT " 4 Prime"
        FOR ag = 1 TO 4
            LOCATE h, 10 + cor1(ag): PRINT MID$(nt$(recor), cor1(ag), 2)
        NEXT ag
        COLOR 7
    END IF

    IF g = 5 THEN
        P5 = P5 + 1
        COLOR 10
        LOCATE 8, 67: PRINT " = "; "P5 =>"; P5
        LOCATE h, x + 3: PRINT "=>";: PRINT " 5 Prime"
        FOR ag = 1 TO 5
            LOCATE h, 10 + cor1(ag): PRINT MID$(nt$(recor), cor1(ag), 2)
        NEXT ag
        COLOR 7
    END IF

    IF g = 6 THEN
        P6 = P6 + 1
        COLOR 11
        LOCATE 9, 67: PRINT " = "; "P6 =>"; P6
        LOCATE h, x + 3: PRINT "=>";: PRINT " 6 Prime"
        FOR ag = 1 TO 6
            LOCATE h, 10 + cor1(ag): PRINT MID$(nt$(recor), cor1(ag), 2)
        NEXT ag
        COLOR 7
    END IF

    IF g = 7 THEN
        P7 = P7 + 1
        COLOR 12
        LOCATE 10, 67: PRINT " = "; "P7 =>"; P7
        LOCATE h, x + 3: PRINT "=>";: PRINT " 7 Prime"
        FOR ag = 1 TO 7
            LOCATE h, 10 + cor1(ag): PRINT MID$(nt$(recor), cor1(ag), 2)
        NEXT ag
        COLOR 7
    END IF

    IF g = 8 THEN
        P8 = P8 + 1
        COLOR 13
        LOCATE 11, 67: PRINT " = "; "P8 =>"; P8
        LOCATE h, x + 3: PRINT "=>";: PRINT " 8 Prime"
        FOR ag = 1 TO 8
            LOCATE h, 10 + cor1(ag): PRINT MID$(nt$(recor), cor1(ag), 2)
        NEXT ag
        COLOR 7
    END IF

    IF g = 9 THEN
        P9 = P9 + 1
        COLOR 14
        LOCATE 12, 67: PRINT " = "; "P9 =>"; P9
        LOCATE h, x + 3: PRINT "=>";: PRINT " 9 Prime"
        FOR ag = 1 TO 9
            LOCATE h, 10 + cor1(ag): PRINT MID$(nt$(recor), cor1(ag), 2)
        NEXT ag
        COLOR 7
    END IF

    g = 0

NEXT
