| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1102 人关注过本帖
标题:请教多机联合运算问题
只看楼主 加入收藏
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 9楼 吹水佬
哦先生,我这个提问的原委是出于这样一个实际问题:要想从1—208这共208个数中不重复随意的取8个数,使得取得的这8个数的和均为836,这个问题如果在同一台电脑中运行,我已运行了2、3天了,看上去机器已经运转不了了
请教.zip (1.94 KB)
2015-03-27 16:53
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
表及代码在“请教”中,谢谢
2015-03-27 16:54
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
算法是否有问题

坚守VFP最后的阵地
2015-03-27 18:09
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:10 
程序代码:
T1=Seconds()
Create Cursor T1 (X N(3))
For lnI=1 To 208
    Insert Into T1 Values (lnI)
EndFor 
Select A.X A1,B.X A2,C.X A3,D.X A4,E.X A5,F.X A6,G.X A7,H.X A8,A.X+B.X+C.X+D.X+E.X+F.X+G.X+H.X 合计 From T1 A ;
Inner Join T1 B On A.X<B.X ;
Inner Join T1 C On B.X<C.X ;
Inner Join T1 D On C.X<D.X ;
Inner Join T1 E On D.X<E.X ;
Inner Join T1 F On E.X<F.X ;
Inner Join T1 G On F.X<G.X ;
Inner Join T1 H On G.X<H.X where A.X+B.X+C.X+D.X+E.X+F.X+G.X+H.X=836 Into Cursor Temp
MessageBox("共运行 "+Transform(Seconds()-T1)+" 秒")
Browse

试试这个代码,比你那个快N

坚守VFP最后的阵地
2015-03-27 18:48
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
上面的代码放在VFP6上速度可能快些

坚守VFP最后的阵地
2015-03-27 18:50
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
是取出任意不重复8个数值型数字之和均为836的所有组合吗
最小组合为:1+2+3+4=10
最大组合为:205+206+207+208=826
两者之和为836

[ 本帖最后由 sdta 于 2015-3-27 19:18 编辑 ]

坚守VFP最后的阵地
2015-03-27 19:15
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
关键是这8个数是随机而不重复,有几大机率?
2015-03-27 19:57
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
最后的结果:怕表的容量超过2G(或者记录数超过10亿)
刚才测试了一下,1-30之间最小组合与最大组合(各4个数,1+2+3+4+27+28+29+30=124)两者之和符合条件(=124)的记录已达107233条记录
1-30共产生记录5852925条,符合条件者占:107233/5852925=1.83%

[ 本帖最后由 sdta 于 2015-3-27 20:17 编辑 ]

坚守VFP最后的阵地
2015-03-27 20:11
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
不知道楼主搞什么名堂

坚守VFP最后的阵地
2015-03-27 20:12
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
1+2+3+4 + 205+206+207+208
5+6+7+8 + 201+202+203+204
9+10+11+12 + 197+198+199+200
...............
...............
93+94+95+96 + 113+114+115+116
97+98+99+100 + 109+110+111+112
101+102+103+104 + 105+106+107+108

要随机取出的8个不重复数组成的算式,看来不是用多少台机来算的问题。
如果按每次取出8个数为一次,假如经过n次时取得结果,这个n说明的是什么?
2015-03-27 20:26
快速回复:请教多机联合运算问题
数据加载中...
 
   



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

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