主题:用VB能做出比这个更快或是与之速度相当的,并全部列出排列组合数据
lk2000mail
[专家分:10] 发布于 2007-06-27 19:29:00
我想做一个福利彩票的选号小工具,就是对35个号码从中任选7个的那种,本人看了许多代码,试验过许多方法都不太好,最近在网上看到这个用易语言写的极速全排列,试过了觉得速度真的是挺快!但我只学习了VB,所以一直弄不懂这个用易语言写的为何能如此之快!!在此发贴希望能得到各位大侠的帮助,如果可以请与我联系!最后我会把做成的小工具分发给大家!谢谢!
lk2000mail@126.com QQ_42382397 相学谨
最后更新于:2007-06-27 19:36:00
回复列表 (共11个回复)
沙发
lk2000mail [专家分:10] 发布于 2007-06-28 01:07:00
怎么没人理我呀!有好的方法吗?
板凳
brokenworld [专家分:2640] 发布于 2007-06-28 10:30:00
不知道兄台那代码运行花了多长时间,在vb中实验过10选6的,在赛扬1.7上输出到文件大概是330毫秒。猜测如果算35选7,大概可能要多花200倍的时间,大概分把钟吧。
vb中还有个简单的办法,就是利用集合的枚举算子来枚举所有的可能,不过比用操作内存缓冲区的方法可能要慢10-30倍左右的样子,也就是说,可能要花半个小时左右,不过这个算法的代码很简单,不会超过50行。
3 楼
lk2000mail [专家分:10] 发布于 2007-06-28 21:49:00
我现在想把组合的结果输出到屏幕上,比如一些表格控件中,如果真的这样子做了,那可能要花五分钟以上的时间了!!所以在此求教,如何能更快输出!
4 楼
brokenworld [专家分:2640] 发布于 2007-06-29 10:20:00
输出到控件的我没全部测,但是如果输出到文本框,只有先输出到文件,然后再载入到文本框了,这个也花不了多长时间,大概多花1秒吧,但是如果边产生,边输出,估计得N个小时,太慢了
5 楼
hpygzhx520 [专家分:1580] 发布于 2007-06-29 22:20:00
呵呵,不会是一次全部排列出来的。每次排1000注。
6 楼
brokenworld [专家分:2640] 发布于 2007-06-29 23:50:00
那就用集合枚举吧
1000注 太快了
15万注 输出到文件 用集合很慢 但是也只花3秒多
7 楼
lk2000mail [专家分:10] 发布于 2007-06-30 02:58:00
输出到文本文件,那样并不能直观的体现出来!象这个用E语言做的直接输出到表格的形式,用VB可以做出来吗?
8 楼
brokenworld [专家分:2640] 发布于 2007-06-30 11:53:00
对什么易语言不感兴趣
如果你打算用vb做 就补习下vb基础
9 楼
Rick0ne [专家分:1490] 发布于 2007-07-01 14:11:00
你的工具是做什么用的,为什么要把全部排列列出来?
10 楼
merry05 [专家分:8920] 发布于 2007-07-02 22:13:00
[quote]
如果你打算用vb做 就补习下vb基础[/quote]
这个问题的关键不在于会不会做,有没有VB基础,而在于做出来的效率高不高。这种可不是光具备VB基础就能做出来的。
我来回复