我这里有一个大问题,甚至不知道如何开始......
简而言之,我需要知道一个数字是否在随机组合的一组结果中......
让我更好地解释一下:我用 3 个从 1 到 8 的整数字符创建了一个随机“数字”,如下所示:
procedure TForm1.btn1Click(Sender: TObject);
var
cTmp: Char;
sTmp: String[3];
begin
sTmp := '';
While (Length(sTmp) < 3) Do
Begin
Randomize;
cTmp := IntToStr(Random(7) + 1)[1];
If (Pos(cTmp, sTmp) = 0) Then
sTmp := sTmp + cTmp;
end;
edt1.Text := sTmp;
end;
现在我需要知道其他一些随机数,比如“324”(示例),是否在该随机组合的结果集中。
请问,有人可以帮忙吗?获得解决此问题的方程式的链接就足够了...
好的,让我尝试添加一些有用的信息:
请先检查此链接https://en.wikipedia.org/wiki/Combination
一旦我在编辑框中得到用户输入的一些数字,我需要检查它是否在这个随机组合的集合中:S = (1..8) 和 k = 3
棘手,嗯?
这是我得到的。也许它对将来的某人有用。感谢所有试图提供帮助的人!
Function IsNumOnSet(const Min, Max, Num: Integer): Boolean;
var
X, Y, Z: Integer;
Begin
Result := False;
For X := Min to Max Do
For Y := Min to Max Do
For Z := Min to Max Do
If (X <> Y) and (X <> Z) and (Y <> Z) Then
If (X * 100 + Y * 10 + Z = Num) Then
Begin
Result := True;
Exit;
end;
end;