Программа генерирующая последовательность случайных неповторяющихся целых чисел
Написать программу, генерирующую последовательность случайных неповторяющихся целых чисел в диапазоне от 0 до 65535. Длину последовательности вводит пользователь в начале работы программы (значение по умолчанию 2300). Результат представить в виде списка.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, ExtCtrls;
type
TForm1 = class (TForm)
Button1: TButton;
Memo1: TMemo;
Label2: TLabel;
SpinEdit2: TSpinEdit;
Button2: TButton;
procedure Button1Click (Sender: TObject);
procedure FormCreate (Sender: TObject);
procedure Button2Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
SBase, SDict: string;
a: integer;
implementation
{$R *.dfm}
procedure BruteForce (S: string; n: integer);
var
i:integer;
begin
for i := 1 to Length (SDict) do
begin
s[n] := SDict[i];
if n = 1 then
if form1.Memo1.Lines.Count<Form1.SpinEdit2.Value then //ограничитель генерации
form1.Memo1.Lines.Add (s)
else
exit
else
BruteForce (s, n — 1);
end;
end;
procedure TForm1.Button1Click (Sender: TObject);
var i:integer; s:string;
begin
s:='1234567890';
Sbase:='';
SDict := s;
for i:=1 to 5 do //максимум 5 символов
begin
Sbase:=Sbase+'a';
BruteForce (SBase, Length (SBase));
end;
end;
procedure TForm1.FormCreate (Sender: TObject);
begin
Application.ProcessMessages;
end;
procedure TForm1.Button2Click (Sender: TObject);
begin
Memo1.Clear;
end;
end.