总共是9个数字 得到他们的所有排列
这样的
1,2,3,4,5,6,7,8,9,
得到的结果是
1,2,3
4,5,6
7,8,9
4,5,9
5,8,9
。。
。。
这样的个结果,
这样的
1,2,3,4,5,6,7,8,9,
得到的结果是
1,2,3
4,5,6
7,8,9
4,5,9
5,8,9
。。
。。
这样的个结果,
解决方案 »
- 在DBGRID中如何画图
- ModelMaker 下设计类图的问题!!!!!!!
- ________200求解~~实在百思不得其解的ADO连接问题!
- delphi 新手上路怎么学习delphi里面如此之多的控件,还里控件里的属性
- 数据排序
- 请问我要写一个简单的update触发器怎么做呀?谢谢!
- 网上有没有下载ROSE的地方?想找一个试试
- 如何读取工程中的版本信息(就是工程选项中的工程版本页面里的信息)。50分
- 制作安装程序后为什么不能在2000下运行(在选择是已经是所有系统都支持)
- 如何实现用进度条表示Adotable中数据输出到文件的进度??(用多线程)
- 请教Delphi高手高手之高高手 程序关闭的问题,
- Integer 这里用的表示什么意思
// procedure Combine(CSet: string; sl: TStrings; Num: Integer); unit Comb;interfaceuses Classes;procedure Combine(CSet: string; sl: TStrings; Num: Integer);implementationvar
n, r: Integer; // n - 字符集数目 r - 取出的数目
c: array[0..10] of Integer;
used: array[0..10] of Integer;procedure Combine_1(ss: string; sl: TStrings; p, h: Integer);
var
i: Integer;
s: string;
begin
if p = r then begin
s := '';
for i := 0 to r - 1 do s := s + ss[c[i] + 1];
sl.Add(s);
Exit;
end; for i := h to n - r + p do
if Used[i] = 0 then begin
c[p] := i;
Inc(used[i]);
Combine_1(ss, sl, p + 1, i + 1);
Dec(used[i]);
end;
end;procedure Combine(CSet: string; sl: TStrings; Num: Integer);
var
i: Integer;
begin
for i := 0 to 10 do used[i] := 0;
n := Length(CSet);
r := Num;
Combine_1(CSet, sl, 0, 0);
end;end.