网站开发运营,网站建设公司 腾佳,wordpress 无法将上传,自适应网站举例本文以双色球选择红色6个号码为例
我们先把问题简化#xff0c;双色球红色号码一共有33个球。摇奖时#xff0c;每次随机摇出来一个号码#xff0c;连续6次#xff0c;就随机出来了6个红色球号码。
而这6个号码就是一注彩票里的前6个红色球号码。这里不讨论一注彩票里后端…本文以双色球选择红色6个号码为例
我们先把问题简化双色球红色号码一共有33个球。摇奖时每次随机摇出来一个号码连续6次就随机出来了6个红色球号码。
而这6个号码就是一注彩票里的前6个红色球号码。这里不讨论一注彩票里后端的1个蓝色球号码。
设想的原理:
双色球前6个红球号码一共有 33 x 32 x 31 x 30 x 29 x 28 797448960 注
1. 把 797448960 注号码导入到数据库的一张表里待用
2. 编写摇奖模形程序步骤 a)先设定随机函数的种子保证程序运行出现的随机数不是伪随机数 b)模拟从33个号码里随机取出 1 个号码作为第 1 个号码重复此步骤直至随机取到第 6 个 号码组成一组号码也就是一注彩票号码 c)再拿上面得到的这组号码去和数据库表的 797448960 注号码比对6个号码相同的则在数据表里的另一个字段“出现次数”记录为 1次 不断重复 b、c 两个步骤把一定时间长度内例如 1 个小时随机出现的各注号码的次数全部记录下来。 d)有了各注号码出现次数的记录之后就把出现过的和没有出现过的分成两组。那么当天晚上的彩票号码必定在其中的一个组。 e)如果选择其中的一个组作为中奖组则另一个组将被排除。但是机器跑起来比较快反过来用被排除组作为中奖组原来那一组再排除掉。 f)按照上面的4个组再建4张数据库表重复b、c两个步骤把一定时间长度内例如 1 个小时随机出现的各注号码的次数在新4个表中各自记录下来。 g)重复上述再做多次例如100次那么后来的结果一定有喜欢的号码了。 3. 这里给出 FOXPRO 的 DEMO 程序供有兴趣者参考
SET EXCLUSIVE ON USE abb delete all PACK CLOSE ALL SET TALK OFF SET SAFETY OFF CLEAR USE 222.1.dbf GO TOP DO WHILE .not. EOF() bcvalue SKIP ECVALUE FE-B IF F1 IF f2 *? B1 INSERT INTO abb (cvalue) VALUES (b1) ENDIF IF f3 INSERT INTO abb (cvalue) VALUES (b1) INSERT INTO abb (cvalue) VALUES (b2) *? e-2 *? e-1 ENDIF IF f4 INSERT INTO abb (cvalue) VALUES (b1) INSERT INTO abb (cvalue) VALUES (b2) INSERT INTO abb (cvalue) VALUES (b3) *? e-1 *? e-2 *? e-3 ENDIF IF f5 INSERT INTO abb (cvalue) VALUES (b1) INSERT INTO abb (cvalue) VALUES (b2) INSERT INTO abb (cvalue) VALUES (b3) INSERT INTO abb (cvalue) VALUES (b4) *? e-1 *? e-2 *? e-3 *? e-4 ENDIF IF f6 INSERT INTO abb (cvalue) VALUES (b1) INSERT INTO abb (cvalue) VALUES (b2) INSERT INTO abb (cvalue) VALUES (b3) INSERT INTO abb (cvalue) VALUES (b4) INSERT INTO abb (cvalue) VALUES (b5)
*? e-1 *? e-2 *? e-3 *? e-4 ENDIF IF f7 INSERT INTO abb (cvalue) VALUES (b1) INSERT INTO abb (cvalue) VALUES (b2) INSERT INTO abb (cvalue) VALUES (b3) INSERT INTO abb (cvalue) VALUES (b4) INSERT INTO abb (cvalue) VALUES (b5) INSERT INTO abb (cvalue) VALUES (b6)
*? e-1 *? e-2 *? e-3 *? e-4 ENDIF
IF f8 INSERT INTO abb (cvalue) VALUES (b1) INSERT INTO abb (cvalue) VALUES (b2) INSERT INTO abb (cvalue) VALUES (b3) INSERT INTO abb (cvalue) VALUES (b4) INSERT INTO abb (cvalue) VALUES (b5) INSERT INTO abb (cvalue) VALUES (b6) INSERT INTO abb (cvalue) VALUES (b7)
*? e-1 *? e-2 *? e-3 *? e-4 ENDIF IF f9 INSERT INTO abb (cvalue) VALUES (b1) INSERT INTO abb (cvalue) VALUES (b2) INSERT INTO abb (cvalue) VALUES (b3) INSERT INTO abb (cvalue) VALUES (b4) INSERT INTO abb (cvalue) VALUES (b5) INSERT INTO abb (cvalue) VALUES (b6) INSERT INTO abb (cvalue) VALUES (b7) INSERT INTO abb (cvalue) VALUES (b8) *? e-1 *? e-2 *? e-3 *? e-4 ENDIF IF f10 INSERT INTO abb (cvalue) VALUES (b1) INSERT INTO abb (cvalue) VALUES (b2) INSERT INTO abb (cvalue) VALUES (b3) INSERT INTO abb (cvalue) VALUES (b4) INSERT INTO abb (cvalue) VALUES (b5) INSERT INTO abb (cvalue) VALUES (b6) INSERT INTO abb (cvalue) VALUES (b7) INSERT INTO abb (cvalue) VALUES (b8) INSERT INTO abb (cvalue) VALUES (b9) *? e-1 *? e-2 *? e-3 *? e-4 ENDIF
ENDIF ENDDO CLOSE ALL *Rand(-1) *CLOSE DATABASES *CREATE TABLE Random (cValue N(6)) *FOR nItem 1 TO 324632 Append 1000 records, *APPEND BLANK * REPLACE cValue WITH 1INT(RAND( )*324632) Insert random values *ENDFOR
CLEAR LIST Display the values gnMaximum 1 Initialize minimum value gnMinimum 1000 Initialize maximum value SCAN FOR nItem 1 TO 324632 ENDFOR gnMaximum MAX(gnMaximum, cValue) ENDSCAN
? The minimum value is: , gnMinimum Display minimum value ? The maximum value is: , gnMaximum Display maximum value
CLEAR gnLower 1 gnUpper 100
? INT((gnUpper - gnLower 1) * RAND( ) gnLower) 4. 也可以用其他数据库或者其他语言编程例如C、C等等。