Delphi 7 で、1 から 8 までの範囲を使用して、3 つの整数 (繰り返されない) のすべての可能な組み合わせをリストする関数をコーディングする必要があります。例:
123 124 125 ... 412 413 415 ... 874 875 876
この関数は比較目的で使用されるため、できるだけ高速であるとよいでしょう。
誰かがアイデアを提供できますか (可能であれば、いくつかのコード例を添えて)。
ありがとうございました!
さて、これが私がこれまでに得たものです。誰かがそれを改善するためのヒント(パフォーマンスの向上、コードの削減など)を持っている場合は、助けてください。再度、感謝します!
Function IsNumOnSet(Max, Num: Integer): Boolean;
var
X, Y, Z: Integer;
Begin
Result := False;
For X := 1 to Max Do
For Y := 1 to Max Do
For Z := 1 to Max Do
If (X <> Y) and (X <> Z) and (Y <> Z) Then
If (IntToStr(X) + IntToStr(Y) + IntToStr(Z) = IntToStr(Num)) Then
Begin
Result := True;
Exit;
end;
end;
これが、Ken の助けを借りて完成した新しい関数です。将来、他の誰かに役立つかもしれません。ありがとうございました!
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;
誰かがより良いアイデアを持っている場合は、お知らせください!