PDA

View Full Version : حساب کردن فاکتوریل بزرگ



seyedVB
سه شنبه 10 آذر 1388, 20:17 عصر
روش شما برای حساب کردن 200 فاکتوریل چیست ؟

qwerty11
چهارشنبه 11 آذر 1388, 19:08 عصر
http://barnamenevis.org/forum/showthread.php?t=82100

amir-yeketaz
چهارشنبه 11 آذر 1388, 19:12 عصر
شاید من یه مبتدی باشم ولی این برنامه رو حدود دو هفته پیش نوشتم و جوابم داد
اگه شما بتونی ضرب اعداد بزرگ رو برنامشو بنویسی دیگه نوشتن برنامه فاکتوریل اعداد بزرگ خیلی راحت میشه (با استفاده از آرایه(
مثلا 99ضرب در 98
اگر یادتون باشه ابتدایی و راهنمایی رو
ضرب این طور اعداد به این صورت بود 8 ضرب در 99 میشد (یعنی رقم یکان 8) یه عددی بدست میاد -حالا رقماشو(792) میریزیم تو یه آرایه صفر شده (یعنی باید صفرش کنیم(
بعد میام سراغ رقم دهگان 98 یعنی 9 و 9 رو ضربدر 99 میکنیم که البته یه صفرم باید جلوش گذاشت- اینم میره تو آرایه(رقماش) یادتونه که اون روزا چجوری ضرب می کردین!!!
حالا جواب اینا رو مرحله به مرحله باید بریزیم تو یه آرایه دیگه برایه نتیجه
یعنی کلا سه تا آرایه میخوایم.
اگه تونستین این کارو بکنین دیگه فاکتوریلش فکر نکنم کاری داشته باشه

rak6993
جمعه 13 آذر 1388, 19:42 عصر
این برنامه به زبان ++cنوشته شده و علاوه بر محاسبه فاکتوریل اعداد بزرگ تا حدود عدد 1000 ،تمام اعمال جمع و ضرب و مقایسه و ... رو انجام میده

amir001
شنبه 14 آذر 1388, 01:22 صبح
شاید من یه مبتدی باشم ولی این برنامه رو حدود دو هفته پیش نوشتم و جوابم داد
اگه شما بتونی ضرب اعداد بزرگ رو برنامشو بنویسی دیگه نوشتن برنامه فاکتوریل اعداد بزرگ خیلی راحت میشه (با استفاده از آرایه(
مثلا 99ضرب در 98
اگر یادتون باشه ابتدایی و راهنمایی رو
ضرب این طور اعداد به این صورت بود 8 ضرب در 99 میشد (یعنی رقم یکان 8) یه عددی بدست میاد -حالا رقماشو(792) میریزیم تو یه آرایه صفر شده (یعنی باید صفرش کنیم(
بعد میام سراغ رقم دهگان 98 یعنی 9 و 9 رو ضربدر 99 میکنیم که البته یه صفرم باید جلوش گذاشت- اینم میره تو آرایه(رقماش) یادتونه که اون روزا چجوری ضرب می کردین!!!
حالا جواب اینا رو مرحله به مرحله باید بریزیم تو یه آرایه دیگه برایه نتیجه
یعنی کلا سه تا آرایه میخوایم.
اگه تونستین این کارو بکنین دیگه فاکتوریلش فکر نکنم کاری داشته باشه

روش پایه همین هست اما در بحث طراحی الگوریتم این روش بهینه نیست.

مثلا برای ضرب عدد 1000000000 در 2000000 نیاز نیست رقم رقم ضرب کنیم ، بلکه کافی هست عدد را به a*10^b بنویسیم و بعد ضرب کنیم. اینطوری زمان اجرا کم میشه.