12-07-2009, 08:10 PM
السلام عليكم ورحمة الله وبركاته ,,
قبل شهر او شهرين تقريبا كنت قد كتبت دالة التباديل ,,
لكن واجهة إشكال فيها لاحظوا الدالة :
هذا ما اعتقده صحيح ولكن لم تجدي نفعا ,,
لا اعرف كيف لكن قسمت r على 2 ,, وأصبحت الدالة هكذا :
فأصبحت الدالة تعمل بشكل صحيح إذا كان r ( الدليل ) عددا زوجياً
لا أعرف ما المشكلة !؟؟؟
==================
ولمن لا يعرف التباديل ,, سأشرحها باختصار
لو قلنا 5 تباديل 2 = 5 × 4
5 تباديل 3 = 5 × 4 × 3
6 تباديل 2 = 6 ×5
وهكذا . . .
والسلام عليكم
قبل شهر او شهرين تقريبا كنت قد كتبت دالة التباديل ,,
لكن واجهة إشكال فيها لاحظوا الدالة :
PHP كود :
Function nPr ( n,r:integer) : Integer ;
var i :integer;
begin
Result := 1 ;
for i := r DownTo 1 do begin
Result := Result*n*(n-1);
n := n-2 ;
end;
Application.MainForm.Caption := ( ' Ans := '+ IntToStr(Result) );
end;
هذا ما اعتقده صحيح ولكن لم تجدي نفعا ,,
لا اعرف كيف لكن قسمت r على 2 ,, وأصبحت الدالة هكذا :
PHP كود :
Function nPr ( n,r:integer) : Integer ;
var i :integer;
begin
Result := 1 ;
for i := ( r div 2 ) DownTo 1 do begin
Result := Result*n*(n-1);
n := n-2 ;
end;
Application.MainForm.Caption := ( ' Ans := '+ IntToStr(Result) );
end;
فأصبحت الدالة تعمل بشكل صحيح إذا كان r ( الدليل ) عددا زوجياً
لا أعرف ما المشكلة !؟؟؟
==================
ولمن لا يعرف التباديل ,, سأشرحها باختصار
لو قلنا 5 تباديل 2 = 5 × 4
5 تباديل 3 = 5 × 4 × 3
6 تباديل 2 = 6 ×5
وهكذا . . .
والسلام عليكم