我在這裏有一個很大的問題,甚至不知道如何下手......德爾福 - 隨意組合(數學)
在簡短的說明,我需要知道,如果一個號碼是一組從結果隨機組合...
讓我更好地解釋:我創建了一個隨機「數」具有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