1,2,3,4,5,6,7,8,9,10,11,12,13,14 14个数
随机取九个输出
如:1,2,3,4,5,6,7,8,9
1,2,5,6,8,9,10,11,12
6,7,8,9,10,11,12,13,14
.........................
想了挺多久的 都不行 望大侠们赐教.....
随机取九个输出
如:1,2,3,4,5,6,7,8,9
1,2,5,6,8,9,10,11,12
6,7,8,9,10,11,12,13,14
.........................
想了挺多久的 都不行 望大侠们赐教.....
解决方案 »
- 动态定义的控件如何响应消息
- idtcpclient readinteger 提示undeclared
- delphi程序编译之后总是在状态栏,无法展开,什么原因?
- TdxDBGrid能实现多表头的功能吗
- 100分讨论怎么把vcl转变成com
- 一个截取字符串的问题
- 各位大侠,请教如何初始化一个已赋值的二维数组?
- 三层,DCOM,请分析 if ClientDataSet1.UpdateStatus<>usUnModified then showmessage('有改动');这条语句为什么行不通?说usUnModified
- 来者有分!
- 我打开一个文件如下语句,为何有错?
- delphi操作excel文件有很多问题
- 寻delphi数据库类朋友
i, k : Integer;
tmpStr : string;
begin
i := 0;
Randomize;
repeat
k := Random(14);
if k <> 0 then
begin
tmpStr := tmpStr + ',' + IntToStr(Random(14));
Inc(i);
end;
until i = 9;
ShowMessage(Copy(tmpStr,2,Length(tmpStr) - 1));
var
i, k : Integer;
tmpStr : string;
begin
i := 0;
Randomize;
repeat
k := Random(14);
if k <> 0 then
begin
tmpStr := tmpStr + ',' + IntToStr(k);
Inc(i);
end;
until i = 9;
ShowMessage(Copy(tmpStr,2,Length(tmpStr) - 1));
end;
i : Integer;
tmpStr : string;
begin
i := 0;
Randomize;
repeat
tmpStr := tmpStr + ',' + IntToStr(Random(13)+1);
Inc(i);
until i = 9;
ShowMessage(Copy(tmpStr,2,Length(tmpStr) - 1));
end;
var
i: integer;
sl: TStringList;
str: string;
begin
sl:= TStringList.Create;
sl.Sorted:= true;
sl.Duplicates := dupIgnore;
sl.clear;
str:= '';
while sl.Count < 9 do
begin
Randomize;
i:= Random(14);
if i > 0 then
sl.Append(inttostr(i));
end;
str:= sl.strings[0];
for i:= 1 to sl.Count-1 do
str:= str+','+sl.Strings[i];
showmessage(str);
sl.free;
end;
procedure TForm1.Button1Click(Sender: TObject);
function getRandomStr(istr: integer): Integer;
begin
Application.ProcessMessages;
Randomize;
Result := Random(istr);
end;
var
i,j: integer;
str9: string;
strList: TStringList;
strList_random: TList;
begin
strList := TStringList.Create;
try
strList.Delimiter := ',';
strList.DelimitedText := '1,2,3,4,5,6,7,8,9,10,11,12,13,14';
//随机取9个数
strList_random := TList.Create;
try
str9 := '';
for i:= 0 to 8 do
begin
j := getRandomStr(14);
if strList_random.Count>0 then
begin
while strList_random.IndexOf(Pointer(j))<>-1 do
begin
j := getRandomStr(14);
end;
end;
strList_random.Add(Pointer(j));
if str9='' then str9 := strlist[j]
else str9 := str9+','+strlist[j];
end;
Memo1.Lines.Add(str9);
finally
strList_random.Free;
end;
finally
strList.Free;
end;
end;
var a:array[0..10]of integer;
procedure TForm1.comb(m:integer;k:integer);
var i,j:integer;
s:string;
begin
for i:=m downto k do
begin
a[k]:=i;
if (k>1) then
comb(i-1,k-1)
else
for j:=a[0] downto 1 do s:=s+format('%2.2d',[a[j]])+' ';
if s<>'' then
Memo1.Lines.Add(s);
s:='';
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
n:=9; //取n=9
a[0]:=n;
comb(14,9);
end;
var a:array[0..10]of integer;
procedure TForm1.comb(m:integer;k:integer);
var i,j:integer;
s:string;
begin
for i:=m downto k do
begin
a[k]:=i;
if (k>1) then
comb(i-1,k-1)
else
for j:=a[0] downto 1 do s:=s+format('%2.2d',[a[j]])+' ';
if s<>'' then
Memo1.Lines.Add(s);
s:='';
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
n:=9; //取n=9
a[0]:=n;
comb(14,9);
end;