تا حالا فکر کردید که !۱۰۰ را چگونه محاسبه میکنند. خوب شاید بگید ۱۰۰و۹۹تا ۱ را در هم ضرب میکنیم.خوب این یک راهشه .اما اصلا عاقلانه نیست.زیرا ضرب کردن این اعداد در هم وقت و حوحله زیادی را می طلبد.برا ی این کار دو راه را معرفی می کنم.

روش اول: هم ارزی

ثابت شده که اگه عدد n به اندازه کافی بزرگ باشه ، دو عبارت زیر تقریبا برابر هستن:

تقریبی از فاکتوریل

پس می شه بجای محاسبه فاکتوریل n ، عبارت هم ارزش رو حساب کرد. اما محاسبه این عبارت هم چندان ساده نیست و نیاز به محاسبات با اعداد بزرگ داره.

روش دوم: لگاریتم

با چند تا محاسبه ساده می شه ثابت کرد:

تقریبی از فاکتوریل

که در اون [ ] برای جزء صحیح بکار رفته. با توجه به اینکه مقدار آلفا معمولا تقریبی محاسبه می شه ، مقدار !n هم با خطای جزیی بدست می یاد. هرچقدر آلفا دقیقتر حساب بشه ، !n هم دقیقتر می شه. توجه داشته باشید که مقدار بتا همیشه دقیقه و نیازی به تقریب نداره. مثلا اگر n برابر 1000 باشه ، داریم:

مثالی برای تقریب فاکتوریل

توجه کنید که آلفا همیشه بین 1 و 10 تغییر می کنه. با محاسبه مقدار بتا می شه تعداد ارقام !n را متوجه شد. مثلا 1000 فاکتوریل 2568 رقمیه!!!

منبع:www.aachp.comالگوریتم !n