| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3061 人关注过本帖
标题:[求助]复杂算法问题
取消只看楼主 加入收藏
freeman8138
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-13
收藏
 问题点数:0 回复次数:23 
[求助]复杂算法问题

现有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编辑过]



yYnpgC1q.rar (5.6 KB) [求助]不知这个问题要怎样才能实现?

搜索更多相关主题的帖子: 算法 
2007-09-13 22:28
freeman8138
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-13
收藏
得分:0 
回复:(Knocker)没说清楚,还有这个 2=01 .... 2=是...
2=的意思是=后面的18个码里只出2个。
2007-09-13 22:47
freeman8138
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-13
收藏
得分:0 
回复:(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组条件都是正确并且同时成立的

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

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

2007-09-13 23:27
freeman8138
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-13
收藏
得分:0 
红宝石,不过那200组左右的条件是动态的,而且只有半个小时从分析到投注。你能够写个程序给我验证就好了。
2007-09-13 23:37
freeman8138
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-13
收藏
得分:0 
这个就是商业秘密啦。
2007-09-13 23:39
freeman8138
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-13
收藏
得分:0 
不是,是我自己通过特殊的分析方法找到的。属于专利。
2007-09-13 23:41
freeman8138
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-13
收藏
得分:0 

因为用我的机找这些数据基本上要运行半天。

2007-09-13 23:44
freeman8138
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-13
收藏
得分:0 
Knocker兄,怎不见人了?
2007-09-17 09:23
freeman8138
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-13
收藏
得分:0 
感谢Knocker兄,不过忘了告诉你,我之前跟你所举的例子里,5个号码其实应该是未知的,(你的程序里要求输入的过滤号,知道这5个号码就不用再过滤啦,
虽然我的数理不好,现在想来可能是没有办法实现的。
2007-09-17 21:59
快速回复:[求助]复杂算法问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022649 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved