14-09-2012, 11:08 AM
السلام عليكم.....هذا كود انشاته ..مع العلم ان تشكيل اعداد من 4ارقام مختلفة ذون تكرار هو ترتيبة من 4 الى 4 والتي هي بعد الختزال 4*3*2*1=24....اي 24 حالة...للعلم الكود يقبل اربعة ارقام فقط مختلفة ....وشكرا
السلام عليكم.....هذا كود تكوين اعداد مختلفة من 5 أرقام مختلفة ..مع العلم ان تشكيل اعداد من 5ارقام مختلفة ذون تكرار هو ترتيبة من 5 الى 5 والتي هي بعد الختزال 5*4*3*2*1=120....اي 120 حالة...للعلم الكود يقبل خمسة ارقام مختلفة ....وشكرا
بنفس الطريقة تستطيع التعديل في كل مرة عند اضافة رقم ...فمثلا عندما نريد تشكيل اعداد من 6أرقام مختلفة فالناتج يكون 720 حالة
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var
s,s1,a:string;
s2:char;
i,j,k:integer;
begin
s:=edit1.Text;
memo1.Clear;
for i:=1 to 4 do
begin
s1:='';
for j:=1 to 4 do
begin
if j<>i then
s1:=s1+s[j];
end;
for j:=1 to 3 do
begin
for k:=1 to 2 do
begin
a:='';
a:=s1[1]+s1[2*k-k div 2]+s1[2+k mod 2];
memo1.Lines.Add(s[i]+a);
end;
if j<=2 then
begin
s2:=s1[1];
s1[1]:=s1[2*j-j div 2];
s1[2*j-j div 2]:=s2;
end;
end;
end;
end;
السلام عليكم.....هذا كود تكوين اعداد مختلفة من 5 أرقام مختلفة ..مع العلم ان تشكيل اعداد من 5ارقام مختلفة ذون تكرار هو ترتيبة من 5 الى 5 والتي هي بعد الختزال 5*4*3*2*1=120....اي 120 حالة...للعلم الكود يقبل خمسة ارقام مختلفة ....وشكرا
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var
s,s1,a,s3:string;
s2:char;
i,j,k,l,m:integer;
begin
s:=edit1.Text;
memo1.Clear;
for l:=1 to 5 do
begin
s1:='';
for j:=1 to 5 do
begin
if j<>l then
s1:=s1+s[j];
end;
for m:=1 to 4 do
begin
s3:='';
for j:=1 to 4 do
begin
if j<>m then
s3:=s3+s1[j];
end;
for j:=1 to 3 do
begin
for k:=1 to 2 do
begin
a:='';
a:=s3[1]+s3[2*k-k div 2]+s3[2+k mod 2];
memo1.Lines.Add(s[l]+s1[m]+a);
end;
if j<=2 then
begin
s2:=s3[1];
s3[1]:=s3[2*j-j div 2];
s3[2*j-j div 2]:=s2;
end;
end;
end;
end;
label1.Caption:=inttostr(memo1.Lines.Count) ;
end;

