方法1:
procedure TForm1.GetNumber(s:string;i:integer);
var
j:integer;
str:string;
begin
Inc(i);
for j:=1 to 9 do
begin
str:=s+a[j];
if i<4 then
begin
GetNumber(str,i);
end
else
begin
if str<>'0000' then
ListBox1.Items.Add(str);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Clear;
GetNumber('',0);
end;
方法2:
procedure TForm1.Button2Click(Sender: TObject);
var
i,j:integer;
s:string;
begin
ListBox1.Items.Clear;
for i := 1 to 9999 do
begin
s:=Inttostr(i);
if Pos('4',s) = 0 then
begin
if Length(s)<4 then
begin
for j:=1 to 4-Length(s) do
s:='0'+s;
end;
ListBox1.Items.Add(s);
end;
end;
end;
Function IsFour(IntNumber:integer):Boolean;
var
SNumber:String;
iLength:Integer;
i:integer;
begin
Result:=False;
SNumber:=IntToStr(IntNumber);
iLength:=Length(SNumber);
for i:=1 to iLength do
begin
if SNumber[i]='4' then
Result:=True;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to 50 do
begin
if not IsFour(i) then
Memo1.Lines.Add(intToStr(i));