当前位置: 代码迷 >> C语言 >> [求助]复杂算法问题
  详细解决方案

[求助]复杂算法问题

热度:365   发布时间:2007-09-13 22:28:21.0
[求助]复杂算法问题

现有N组18码,能否利用编程实现将N组18码里筛选出同时成立M=?,P=?的数据出来,N的范围在250以内,M的范围在100以内,P的范围在0-5。

如有10组18码:(一共为10组,所以N=10)

04 06 07 09 10 12 15 16 18 19 23 24 26 29 30 31 32 34
04 06 07 09 10 12 16 17 18 19 21 23 24 26 28 29 30 32
02 04 05 06 12 14 15 18 19 20 22 24 25 26 28 30 31 32
01 02 04 06 08 09 10 11 12 13 15 16 17 18 19 20 21 22
01 04 06 08 09 11 14 16 18 19 21 22 24 26 28 29 31 34
02 04 06 07 10 11 13 15 16 18 20 21 23 24 26 28 31 33
01 04 07 09 11 12 15 16 18 20 21 23 25 27 29 30 32 33
01 02 04 05 07 08 10 11 12 13 15 18 20 21 23 24 28 29
02 03 04 05 06 08 10 12 14 16 20 21 23 24 25 28 31 34
01 02 03 06 07 09 10 13 14 15 17 18 21 24 28 30 32 33

有4组以下的条件是成立的,(所以M=4)

3=04 06 07 09 10 12 16 17 18 19 21 23 24 26 28 29 30 32,(表示这行18个号码里出了04、09、24这3个号码)
3=01 02 04 06 08 09 10 11 12 13 15 16 17 18 19 20 21 22,(表示这行18个号码里出了04、09、22这3个号码)
3=02 04 06 07 10 11 13 15 16 18 20 21 23 24 26 28 31 33,(表示这行18个号码里出了04、24、31这3个号码)
3=02 03 04 05 06 08 10 12 14 16 20 21 23 24 25 28 31 34,(表示这行18个号码里出了04、24、31这3个号码)

但在最后如果多一组

3=04 06 07 09 10 12 15 16 18 19 23 24 26 29 30 31 32 34,(表示这行18个号码里已经出了“4 9 22 24 31”中的04、09、24、31这4个号码,而条件只写作3=则不成立,应为4=)



3=的意思是=后面的18个码里只出3个。所以P=3(注意:是“只”出3个)

而这3个是指“4 9 22 24 31”这5个数里的其中3个。上面4组每1组18个号码里所出的3个号码都属于4 9 22 24 31这5个号码里的其中3个。所以对这5个数来说,上面的4组条件都是正确并且同时成立的。

实际上5个数字是未知值。上面的“4 9 22 24 31”我只是举个例子,可以是1-35个数里的任意5个。


如果同时满足M=某值,P=某值的时候,可能会筛选出很多种组合符合“1-35个数里的任意5个”。即比如说N=200,M=50,P=3时,是指200组18码里,有50组符合同时只出3个数的组合。而这3个数可能是“4 9 22 24 31”中的3个,也可能是“12 23 25 27 35”中的3个......

希望软件可以读入和保存txt数据,有P和M的下拉选框或输入框。最好只要设定M=某值,P=某值时,可以直接显示出符合条件的5个数,或者将符合条件的多个M组18码列出来。

再简单的说可以认为是在10个数组里找5个号码,这5个号码在M个数组里每组只出现5个中的3个。M应该不会等于10

[此贴子已经被作者于2007-9-26 14:56:42编辑过]

搜索更多相关的解决方案: 算法  

----------------解决方案--------------------------------------------------------
没说清楚,还有这个 2=01 ....  2=是什么意思?
----------------解决方案--------------------------------------------------------
回复:(Knocker)没说清楚,还有这个 2=01 .... 2=是...
2=的意思是=后面的18个码里只出2个。
----------------解决方案--------------------------------------------------------
你的意思是这41组数有两个码是每一组都有的?
----------------解决方案--------------------------------------------------------
回复:(Knocker)你的意思是这41组数有两个码是每一组...

真抱歉,我很难说清楚我的意思。如果你买过超级大乐透就知道的。
比如说某期在1-35个号码里,开奖号为 4 9 22 24 31  
  那么

2=01 04 07 09 11 12 15 16 18 20 21 23 25 27 29 30 32 33, 表示这行18个号码里出了04和09这2个号码
2=01 02 04 05 07 08 10 11 12 13 15 18 20 21 23 24 28 29, 表示这行18个号码里出了04和24这2个号码
2=01 02 03 06 07 09 10 13 14 15 17 18 21 24 28 30 32 33, 表示这行18个号码里出了09和24这2个号码
2=03 06 12 13 14 15 16 17 18 21 22 23 24 25 26 27 29 30, ......
......

而每1组18个号码里所出的2个号码都属于4 9 22 24 31这5个号码里的其中2个。所以对这5个开奖号来说,上面的41组条件都是正确并且同时成立的


----------------解决方案--------------------------------------------------------

知道了,你是在选重号,我可以写,但有个条件,你必须与我说一下,
你选得后的M组有什么用?还要再进行他操作么?


----------------解决方案--------------------------------------------------------
回复:(Knocker)知道了,你是在选重号,我可以写,但...
不用其他操作,我是用这M组数据作为代入彩票软件里过滤的。
很高兴,希望你能够做出来,很可能我们就可以中大奖了。我只能说可能,因为我没有这种条件验证过。只是我的一个设想。但我已经基本掌握10多期验证这些组合里,每期至少有一组是中5个号码的。实际的组数会有变化,一般在200组左右,中5个号的一般在1-15组左右。
顺便问一下,可以在excel中实现吗?因为excel用的话会方便我使用分析。

[此贴子已经被作者于2007-9-13 23:30:37编辑过]


----------------解决方案--------------------------------------------------------
代入什么彩票软件里进行什么过滤操作?我对这个有点兴趣,自己也在写个分析软件
明后天有点忙,没时间,下星期一二你再来这里看看,如果没有其它人写,我写你写一个。
----------------解决方案--------------------------------------------------------
我更想知道的是你掌握的规律性及统计分析方法
----------------解决方案--------------------------------------------------------
红宝石,不过那200组左右的条件是动态的,而且只有半个小时从分析到投注。你能够写个程序给我验证就好了。
----------------解决方案--------------------------------------------------------
  相关解决方案