عاملي

في الرياضيات، **عَامِلِيّ** أو **مضروب** عدد طبيعي *n*، والذي يكتب n!، والذي يقرأ "عاملي n"، هو جداء كل الأعداد الطبيعية (الأعداد الصحيحة الموجبة قطعاً) المساوية أو الأصغر من *n*، ما عدا الصفر.

فيما يلي مثال 5 عاملي:

:5 ! = 5  \times  4  \times  3  \times  2  \times  1 = 120  \ 

و تعريف العاملي على شكل جداء يترتب عنه كون 0! = 1 ذلك أن 0! جداء مفرغ، وبمعنى آخر مختصر أي عدد مضروب في صفر يساوي صفر في عملية الضرب.

تظهر دالة العاملي في مجالات مختلفة من الرياضيات، وخصوصا في التوافيقيات والجبر والتحليل الرياضي. أبسط مثال على ذلك، وجود *!n* طريقة مختلفة لترتيب عناصر مجموعة عددهم مساو ل n (أي عدد التبديلات لعناصر هذه المجموعة). عرفت هذه الحقيقة على الأقل منذ القرن الثاني عشر الميلادي، من طرف علماء الرياضيات الهنديين. ويظهر العاملي في عدة معادلات رياضية، مثل صيغة ثنائي الحد لنيوتن وصيغة تايلور. إستُعمل رمز علامة التعجب (!) للتعبير عن دالة عاملي لأول مرة من طرف عالم الرياضيات كريستيان كرامب وكان ذلك عام 1808.

يمكن لتعريف دالة عاملي أن يمدد إلى أعداد غير صحيحة بدون المساس بخصائص هذه الدالة. هذه العملية تستلزم تقنيات متطورة في الرياضيات وخصوصا تلك المستقاة من التحليل الرياضي.

## تعريف
تعرف دالة عاملي بالصيغة التالية:

:n! = \prod_{i=1}^n i = 1\times 2\times 3\times \cdots \times (n-1) \times n

أو عن طريق الاستدعاء الذاتي كما يلي

: n! = \begin{cases}
1 & \text{if } n = 0, \\
(n-1)!\times n & \text{if } n> 0.
\end{cases}


وكلا التعريفين يضم المتساوية التالية:

:0! = 1, \ 

## تطبيقات
يمكننا التعبير عن التوفيقة بدلالة العاملي:
:\binom nk=\frac{n^{\underline k}}{k!}=\frac{n!}{(n-k)!k!}=\frac{n^{\underline{n-k}}}{(n-k)!}=\binom n{n-k}.

## نظرية الأعداد
لدالة عاملي عدة تطبيقات في مجال نظرية الأعداد. وبشكل خاص، عاملي n قابل للقسمة على جميع الأعداد الأولية الأصغر من أو تساوي n. ونتيجة لذلك، فإن n> 5، عدد مؤلف، إذا وفقط إذا توفر ما يلي:
:(n-1)!\ \equiv\ 0 \pmod n

وهنالك نتيجة أقوى من ذلك تتمثل في مبرهنة ويلسون. تنص هاته المبرهنة على ما يلي:
:(p-1)!\ \equiv\ -1 \pmod p
إذا وفقط إذا كان p أوليا.

## سرعة النمو وتقريبات عندما يصير n كبيرا

300px|تصغير|يسار|تبيان للوغاريتم الطبيعي مطبق على دالة عاملي

عندما يصير n كبيرا، تصير دالة عاملي أكبر من أي متعددة حدود ومن أي دالة أسية ل n.(ولكنها تبقى أبطأ من دالة الأس المزدوج).

أغلب التقريبات لعاملي n تعتمد أساسا على تقريب لوغارتمها الطبيعي كما تبين الصيغة:

\log n! = \sum_{x=1}^n \log x..

تبيان الدالة (!f(n) = log(n مبين في يسار هاته الفقرة، حيث يبدو أنها خطية مع n (أي أنها متناسبة معه) إلا أن هذا الحدس خاطئ.

تعطينا صيغة ستيرلينغ مقاربا ل *n*! عندما تكون *n* كبيرة:
:\lim_{n\to+\infty} \frac{n!}{\sqrt{2\pi n} (n/e)^n}=1.

## الحساب والبرمجة
يمكن حساب عاملي عدد ما باستعمال خوارزميات الاستقراء.
فلنكتب باستعمال لغة Scheme، القريبة من لغة Lisp، برنامجا استقرائيا يعطينا عاملي عدد صحيح:

 (define fact
 (lambda (x)
 (if (= x 0) 1
 (* x (fact (- x 1))))))

و هذا البرنامج السابق غير مفيد في حالة الاعداد الكبيرة.

و بنفس الطريقة في Caml :

 let rec fact n = 
 match n with
 | 0 -> 1
 | _ -> n * fact(n-1)
 

و بطريقة أخرى:

 let fact n =
 let rec aux n r =
 match n with
 | 0 -> r
 | _ -> aux (n-1) (n*r)
 in
 aux n 1
 

و في لغة سي:

```c
int recursive_factorial(int n)
 {
   if (n == 0)
     return 1;
     return n * recursive_factorial(n-1);
 }
```

و بطريقة أخرى:

```c
int recursive_factorial(int n)
 {
   int res;
   &nbsp;
   for (res = 1; n> 1; n--)
     res *= n;
   &nbsp;
   return res;
 }
```

و في لغة بايثون:

```python
def factSimple(num) :
    if num== 0 :
        return 1
    else :
        fact= 1
        count= 1
        while count<= num:
            fact*= count
            count+= 1
        return fact
print("5! = " +str(factSimple(5))) #on the screen : 5! = 120
```

وبطريقة ثانية:

```python
def fact(num):
    if num==0:
        return 1
    else:
        return num*factorial(num-1)
print("5! = " +str(fact(5))) #on the screen : 5! = 120
```

وبطريقة ثالثة:

```python
factLambda = lambda num : num>0 and num*fact(num-1) or 1
print("5! = " +str(factLambda(5))) #on the screen : 5! = 120
```

و في لغة جافاسكربت:

```javascript
function fact(n){
	let res;
	for (res = 1; n > 1; n--)
		res *= n;

	return res;
}
```


وبطريقة أخرى:
```javascript
function fact(n)
{
   if (n == 0)
      return 1;
   else
      return n * fact(n - 1);
}
```


هذه الدوال (البرامج) لا تمكننا من حساب عملي أعداد أكبر من 12 إذا كانت الاعداد الصحيحة محدودة بـ 32 بت، لأن النتيجة تتعدى المساحة المتوفرة.

## تمديد دالة عاملي للأعداد غير الصحيحة
### دالتا غاما و π

تصغير|320px|دالة غاما تستوفي دالة العاملي إلى الأعداد غير الصحيحة.

لكل عدد صحيح *n*، لدينا \Gamma(n+1) = n!  حيث Γ هي دالة أويلر(دالة غاما) وضعها ليونهارد أويلر. وتمكننا هاته الدالة من تعميم العاملي على مجموعة الأعداد المركّبة باستثناء الأعداد السالبة قطعا. وفي النهاية نجد:

:\Gamma(z+1)=\int_{0}^{\infty} t^z e^{-t}\, \mathrm{d}t=z! \ \forall z>-1

## دوال وجداءات تشبه دالة عاملي
### [[عاملي ثنائي]]

يطلق على جداء جميع الأعداد الصحيحة من 1 إلى  والتي لها نفس الزوجية (سواء كان فردي أو زوجي) تماما مثل ، اسم **العاملي الثنائي**   للعدد  ويُشار إليه بـ 

يمكن أن نعرفها بواسطة متسلسلة الجداء:

 
: n!! = \prod_{k=0}^{\left\lceil\frac{n}{2}\right\rceil - 1} (n-2k) = n (n-2) (n-4) \cdots 

حيث \left\lceil n\right\rceil هو سقف العدد n.

على سبيل المثال، .

### عاملي متعدد
من الترميزات الشائعة ذات الصلة هي استخدام علامات تعجب متعددة للإشارة إلى **عاملي متعدد**  ، أنواعها: عاملي ثنائي ()، عاملي ثلاثي ()... وهكذا.

يعرف العاملي المتعدد بـ:

: n!^{(k)} = \begin{cases}
 n & \text{if } 0  k.
\end{cases}
### عاملي الأعداد الأولية

**عاملي الأعداد الأولية**  للعدد n هو جداء جميع الأعداد الأولية أقل من أو يساوي n، يرمز إليها بـ .

نُعرّفه كمتسلسلة الجداء:

:n\# = \prod_{p \leq n} p,

حيث p هي الأعداد الأولية.

## انظر أيضا
* دالة غاما
* الأعداد المثلثية
* تقريب ستيرلينغ
* عاملي أعداد أولية

## مراجع

## وصلات خارجية

تصنيف:توافيقيات
تصنيف:غاما والدوال المتعلقة بها
تصنيف:موضوعات العاملي وذات الحدين
تصنيف:نظرية الاحتمالات