خیلی ممنون از پاسخ های کاملی که دادید.
سالار جان در مورد تابع فاکتوریالی که نوشتید یک سوال دیگه داشتم . من با قرار دادن unsigned long به عنوان datatype برای تابع تونستم تا فاکتوریل 33 رو حساب کنم . نکته جالب اینکه الباقی فاکتوریل ها رو به صورت صفر برمی گردوند ( از این جهت می گم جالب چون که وقتی Integer بود تا فاکتوریل 6 یا 7 محاسبه می شد و بعد اون رو یه سری مثبت رد می کرد و یه سری منفی اگه این دلیلش رو هم به من بگید ممنون میشم )وقتی long double گذاشتم تونستم تا فاکتوریل 384 رو حساب کنم اما خوب برای فاکتوریل های بالاتر به نظرتون چه کار دیگه ای میشه کرد ؟ مثلا فاکتوریل 1000 یا بالاتر . اینو از اون لحاظ می گم که توی انتخاب r شی از n شی نیاز به محاسبه فاکتوریل های عظیم هست.
ممنون
سرافراز باشید