'=========================================================================== ' Subject: LOTTO MASTER Date: 02-27-99 (20:08) ' Author: Darryl R. Waltz Code: QB, QBasic, PDS ' Origin: drw@telusplanet.net Packet: MISC.ABC '=========================================================================== ' Lotto combination program 11 : CLS IF a$ = CHR$(27) THEN STOP DIM tn$(500), nn(25), ln(25), pa$(100), nnn$(25), n(25), n1(1000), n2(1000), n3(1000), n4(1000), n5(1000), n6(1000) ab = -9: ba = 0 REM FOR xx = 1 TO 40: READ yy$(xx): NEXT REM DATA " 1",002,003,004,005,006,007,008,009,010,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40 REM tn$(z) = yy$(z) + ". " + nnn$(a) + "-" + nn$(b) + "-" + ln$(c): REM ln(1) = 1: ln(2) = 2: ln(3) = 3: ln(4) = 4: ln(5) = 5: ln(6) = 6: ln(7) = 7: ln(8) = 8: ln(9) = 9: ln(10) = 10: ln(11) = 11: ln(12) = 12: ln(13) = 13: ln(14) = 14 REM ln(15) = 15: ln(16) = 16: ln(17) = 17: ln(18) = 18: ln(19) = 19: ln(20) = 20: ln(21) = 21: ln(22) = 22: ln(23) = 23: ln(24) = 24 CLS PRINT : PRINT : PRINT : PRINT : PRINT " (C) Copyright 1994 - Darryl R. Waltz" COLOR 15: PRINT CHR$(13) + CHR$(13) + CHR$(13) + " L o t t o M a s t e r" COLOR 7: PRINT CHR$(13) + " A number combination program." PRINT : PRINT : PRINT CHR$(13) + " Press RETURN to start .... Press ESC to quit" 1 : a$ = INKEY$: IF a$ = "" THEN 1 2 : IF a$ = CHR$(32) THEN STOP IF a$ = CHR$(27) THEN GOTO 11 IF a$ = CHR$(13) THEN GOTO 0 GOTO 1 0 : CLS PRINT "This program will create Lotto 6/49 combinations..." PRINT : INPUT "How many winning numbers do you want the computer to GUARANTEE (3,4,5, or 6)"; x IF x > 6 OR x < 3 THEN PRINT CHR$(7); "Error ... must have at least 7 numbers": GOTO 0 PRINT : INPUT "How many lucky numbers you want combined (at least 7 or more) "; hm IF hm < 7 THEN PRINT CHR$(7); "Error ... must have at least 7 numbers": GOTO 0 PRINT : PRINT "Type in each number then press Enter:" 5 yn = yn + 1: PRINT "number"; yn; "..."; : INPUT ln(yn) IF yn <> hm THEN GOTO 5 xx = 1 FOR y = 1 TO 10 n(y) = ln(xx) nn(y) = ln(xx + 1) xx = xx + 2 NEXT y xx = 1 FOR y = 1 TO 10 nnn1(y) = ln(xx) nnn2(y) = ln(xx + 1) nnn3(y) = ln(xx + 2) xx = xx + 1 NEXT y xx = 1 FOR y = 1 TO 10 nn1(y) = ln(xx) nn2(y) = ln(xx + 1) xx = xx + 1 NEXT y GOTO 7 FOR xz = 1 TO hm ln(xz) = s(1) NEXT xz ii = 1 6 i = i + 1 IF i > hm THEN STOP: i = 0: s(iii) = 1000: ii = ii + 1: ij = ij + 1: GOTO 6 IF s(i) = 1000 THEN 67 IF s(i) < ln(i) THEN ln(ii) = s(i): iii = i 67 IF ij = hm THEN 7 GOTO 6 7 ln = hm * .5: ln = INT(ln): ev = hm: IF INT(hm / 2) < hm / 2 THEN ev = hm - 1 ON x GOTO 0, 0, 51, 52, 53, 54 51 : a = 1: b = 2: c = 3: cl = ln: bl = ln - 1: al = ln - 2: bn = 1: an = 1: GOSUB 200: GOTO fit 52 : a = 1: b = 2: c = 5: d = 6: dl = ln * 2: cl = ln * 2 - 1: bl = ln - 1: al = ln - 2: bn = 2: an = 1: GOSUB 200: GOTO fit 53 : a = 1: b = 3: c = 4: d = 5: e = 6: el = ln * 2: dl = ln * 2 - 1: cl = ln * 2 - 2: bl = ln * 2 - 3: al = ln - 2: bn = 1: an = 2: GOSUB 200: GOTO fit 54 : a = 1: b = 2: c = 3: d = 4: e = 5: f = 6: fl = hm: el = hm - 1: dl = hm - 2: cl = hm - 3: bl = hm - 4: al = hm - 5: bn = 1: an = 1: GOSUB 200: GOTO fit fit: IF x < 6 AND hm = 7 THEN GOTO tif 55 : ON x GOTO 0, 0, 90, 80, 70, 60 60 : f = f + 1: GOSUB 200: IF f <> fl THEN 55 70 : e = e + 1: f = e + 1: GOSUB 200: IF e <> el THEN 55 80 : d = d + 1: e = d + 1: f = e + 1: GOSUB 200: IF d <> dl THEN 55 90 : c = c + 1: d = c + 1: e = d + 1: f = e + 1: GOSUB 200: IF c <> cl THEN 55 b = b + 1: c = b * bn + 1: d = c + 1: e = d + 1: f = e + 1: GOSUB 200: IF b <> bl THEN 55 a = a + 1: b = a * an + 1: c = b * bn + 1: d = c + 1: e = d + 1: f = e + 1: GOSUB 200: IF a <> al THEN 55 tif: ck = hm / 2: kc = INT(ck) IF kc < ck THEN ON x GOTO 0, 0, 1100, 1200, 1300, 300 GOTO 300 1100 : a = 1: b = 4: c = hm: bl = hm - 2: al = hm - 5: GOSUB 200: GOTO 79 1200 : a = 1: b = 3: c = 5: d = hm: cl = hm - 1: bl = hm - 3: al = hm - 5: GOSUB 200: GOTO 81 1300 : a = 1: b = 3: c = 4: d = 5: e = hm: dl = hm - 1: cl = hm - 2: bl = hm - 3: al = hm - 5: GOSUB 200: GOTO 82 75 : ON x GOTO 0, 0, 79, 81 79 : b = b + 1: IF b <> bl THEN b = b + 1: IF b <> bl THEN GOSUB 200: GOTO 79 GOSUB 200 a = a + 1: IF a <> al THEN a = a + 1: b = a + 3: IF a <> al THEN a = a + 1: b = a + 3: IF a <> al THEN b = a + 3: GOSUB 200: GOTO 79 GOSUB 200 GOTO 300 81 : c = c + 1: GOSUB 200: IF c <> cl THEN GOTO 81 b = b + 1: c = b + 2: IF b <> bl THEN b = b + 1: c = b + 2: IF b <> bl THEN GOSUB 200: GOTO 81 GOSUB 200 a = a + 1: b = a + 2: c = b + 2: IF a <> al THEN a = a + 1: b = a + 2: c = b + 2: IF a <> al THEN GOSUB 200: GOTO 81 GOSUB 200 GOTO 300 82 : d = d + 1: GOSUB 200: IF d <> dl THEN GOTO 82 c = c + 1: d = c + 1: GOSUB 200: IF c <> cl THEN GOTO 82 b = b + 1: c = b + 1: d = c + 1: GOSUB 200: IF b <> bl THEN GOTO 82 a = a + 1: b = a + 2: c = b + 1: d = c + 1: IF a <> al THEN a = a + 1: b = a + 2: c = b + 1: d = c + 1: IF a <> al THEN GOSUB 200: GOTO 82 GOSUB 200 GOTO 300 200 : IF kc < ck THEN ON x GOTO 0, 0, 2100, 2200, 2300, 240 ON x GOTO 0, 0, 210, 220, 230, 240 210 : z = z + 1: IF z > 1000 THEN RETURN ELSE n1(z) = n(a): n2(z) = nn(a): n3(z) = n(b): n4(z) = nn(b): n5(z) = n(c): n6(z) = nn(c): RETURN 220 : z = z + 1: IF z > 1000 THEN RETURN ELSE n1(z) = n(a): n2(z) = nn(a): n3(z) = n(b): n4(z) = nn(b): n5(z) = ln(c): n6(z) = ln(d): RETURN 230 : z = z + 1: IF z > 1000 THEN RETURN ELSE n1(z) = n(a): n2(z) = nn(a): n3(z) = ln(b): n4(z) = ln(c): n5(z) = ln(d): n6(z) = ln(e): RETURN 240 : z = z + 1: IF z > 1000 THEN RETURN ELSE n1(z) = ln(a): n2(z) = ln(b): n3(z) = ln(c): n4(z) = ln(d): n5(z) = ln(e): n6(z) = ln(f): RETURN 2100 : z = z + 1: IF z > 1000 THEN RETURN ELSE n1(z) = nnn1(a): n2(z) = nnn2(a): n3(z) = nnn3(a): n4(z) = nn1(b): n5(z) = nn2(b): n6(z) = ln(c): RETURN 2200 : z = z + 1: IF z > 1000 THEN RETURN ELSE n1(z) = nn1(a): n2(z) = nn2(a): n3(z) = nn1(b): n4(z) = nn2(b): n5(z) = ln(c): n6(z) = ln(d): RETURN 2300 : z = z + 1: IF z > 1000 THEN RETURN ELSE n1(z) = nn1(a): n2(z) = nn2(a): n3(z) = ln(b): n4(z) = ln(c): n5(z) = ln(d): n6(z) = ln(e): RETURN 300 DO xc = x IF a$ = CHR$(81) OR a$ = CHR$(113) THEN STOP IF a$ = CHR$(8) AND ab <> 1 THEN ab = ab - 10: ba = ba - 10: GOSUB 400 IF a$ = CHR$(13) AND ba < z THEN ab = ab + 10: ba = ba + 10: GOSUB 400 'IF a$ = CHR$(112) THEN GOTO 430 a$ = INKEY$ LOOP END 400 CLS : PRINT "The Computer has calculated that if"; x; "of your numbers are drawn then these": PRINT "combinations will GUARANTEE "; "that you will win ONE OR MORE"; x; : PRINT "number PRIZES..." PRINT : PRINT "This is your"; xc; "out of"; hm; : PRINT "combination set." COLOR 7: PRINT : PRINT "Computed"; z; "combinations in total:": PRINT FOR x = ab TO ba IF x > 1000 THEN PRINT x; "."; " "; "NA "; "NA "; "NA "; "NA "; "NA "; "NA ": GOTO 401 PRINT x; "."; " "; n1(x); n2(x); n3(x); n4(x); n5(x); n6(x) 401 NEXT x PRINT : PRINT "RETURN = next page" PRINT : PRINT "BACK SPACE = last page" PRINT : PRINT "Q = Quit" RETURN