求:任意6位数字排列成排列五的简单快捷算法[送50分] ( 积分: 50 )

  • 主题发起人 主题发起人 yahoo123
  • 开始时间 开始时间
Y

yahoo123

Unregistered / Unconfirmed
GUEST, unregistred user!
如题:
比如给出任意6个数字2、3、5、7、8、9
求所有可以组合的排列5组合,允许上面数字重复。同时数字顺序不一定从小到大排列。
结果如下:
23578
23357 (允许重复数字)
22257 (只要数字是2、3、5、7、8、9范围就可以算对)
23579
25789
35789
92578
.....
请高手实现上面的算法。(在VB里面有朋友说可以用递归实现,Delphi如何做呢)
谢谢!
 
本人收集了不少彩票方面的代码,需要的朋友请到我的笔记区查询!
有知道方法的朋友,回答上面的问题,最好能给出代码!
 
[8D][:(][:(!][?]
 
用循环:
var s,s2: string;
i,j,k,l,m: integer;
begin
s:= '235789'
for i:= 1 to 6 do
for j:= 1 to 6 do
for k:= 1 to 6 do
for l:= 1 to 6 do
for m:= 1 to 6 do
begin
s2:= s+ s[j] + s[k] + s[l] + s[m];
stringlist1.add(s2); //添加合成的组合到一个字符串列表,此处字符串列表没申明,请自行处理。
end;
end;
 
呵呵,楼主也喜欢玩体彩排列三/五...经常中吧...
 
是的,哈哈,主要是搞排列五,排列3玩的较少一点
 
接受答案了.
 
楼主不厚道哦,我给了答案却不给分,反而灌水的有分。
鄙视楼主。
 
真对不起,点给分时给错了,哈哈,为弥补不公,我先跟版主联系一下,这是过错,相信版主会主持公断的,实在不能改过来,我再发个直接给分贴,你跟就送50分好了
谢谢你提出来,不然我还不知道,以后多注意了.
 
版主太忙,估计看到本帖并修改过来,太慢,我直接发了一个给分帖
地址如下:(请跟贴我好送分)
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3651475
 
后退
顶部