我在这里有一个很大的问题,甚至不知道如何下手......德尔福 - 随意组合(数学)
在简短的说明,我需要知道,如果一个号码是一组从结果随机组合...
让我更好地解释:我创建了一个随机“数”具有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;
我不明白问题 – 2013-04-06 11:39:24
OP也没有。 :-) – 2013-04-06 14:46:17
我同意你们......对不起,我会在问题中添加更多信息。这是因为我的英语不太好,这个数学问题很棘手! – Guybrush 2013-04-06 19:54:52