عاملي

من موسوعة العلوم العربية
مراجعة 21:15، 12 نوفمبر 2010 بواسطة WikiSysop (نقاش | مساهمات) (١ مراجعة: الصفحات في تصنيف رياضيات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

في الرياضيات، المضروب أو العاملي لعدد صحيح طبيعي n، والذي يكتب n!، والذي يقرأ "عاملي n"، هو جذاء الأعداد الصحيحة الموجبة قطعا والأصغر أو تساوي n. و يكتب :

أمثلة :

  • 1! = 1
  • 2! = 1 x 2 = 2
  • 3! = 1 x 2 x 3 = 6
  • 10! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 = 3628800

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

و يلعب العاملي دورا أساسيا في علم الإحتمالات والتراتيب بما أنه يوجد n! طريقة مختلفة لتوزيع n شيئا. و يظهر العاملي في عدة معادلات رياضية، مثل سيغة الثنائي لنيوتن وصيغة تايلور.

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

عاملي عدد غير صحيح

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

البرمجة

يمكن حساب عاملي عدد ما باستعمال خوارزميات الاستقراء. فلنكتب باستعمال لغة 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
;;

و في لغة سي:

 int factorielle_recursive(int n)
 {
   if (n == 0)
     return 1;
   else
     return n * factorielle_recursive(n-1);
 }

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

 int factorielle_iterative(int n)
 {
   int res;
    
   for (res = 1; n > 1; n--)
     res *= n;
    
   return res;
 }

و في لغة Python:

 fact = lambda x : x>0 and x*fact(x-1) or 1
 
 ----------------------------------------------------
 
 الاستعمال :
 for i in range(10):
     print "fact %d = %d" %(i, fact(i))
 
 ويظهر على الشاشة :
 fact 0 = 1
 fact 1 = 1
 fact 2 = 2
 fact 3 = 6
 fact 4 = 24
 fact 5 = 120
 fact 6 = 720
 fact 7 = 5040
 fact 8 = 40320
 fact 9 = 362880

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


bg:Факториел bs:Faktorijel ca:Factorial cs:Faktoriál cv:Факториал da:Fakultet (matematik) de:Fakultät (Mathematik) en:Factorial eo:Faktorialo es:Factorial et:Faktoriaal eu:Faktorial fa:فاکتوریل fi:Kertoma fr:Factorielle gl:Factorial he:עצרת hu:Faktoriális id:Faktorial io:Faktorialo is:Aðfeldi it:Fattoriale ja:階乗 ka:მათემატიკური ფაქტორიალი ko:계승 lmo:Faturiaal lt:Faktorialas lv:Faktoriāls ml:ഫാക്റ്റോറിയൽ ms:Faktorial nl:Faculteit (wiskunde) no:Fakultet (matematikk) pl:Silnia pms:Fatorial pt:Fatorial ru:Факториал scn:Fatturiali simple:Factorial sk:Faktoriál sl:Fakulteta (funkcija) sq:Faktoriali sr:Факторијел sv:Fakultet (matematik) th:แฟกทอเรียล tr:Faktöriyel uk:Факторіал ur:عاملیہ vi:Giai thừa zh:階乘