امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
فاکتوریل
نویسنده پیام
sara.s آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 1
تاریخ عضویت: خرداد ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
فاکتوریل
[/u]سلام
در یکی از سوالات هم در مورد محاسبه فاکتوریل اعداد بزرگ پرسیده شده بود ولی راه پیشنهادی قابل اجرا نیست.
میشه لطفا راه های دیگری پیشنهاد بدین.
۰۵-خرداد-۱۳۸۶, ۰۱:۵۳:۲۳
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #2
RE: فاکتوریل
دوست من سلام

من نمیدونم راه حل پیشنهادی چی بوده ! یکی از راه حل ها اینه که شما ضرب اعداد بزرگ رو از طریق تقسیم به آرایه انجام بدین ! یعنی مثلا دو عدد 12 رقمی به چهار خونه سه تایی در دو آرایه تبدیل بشن . بعد هر قسمت 3 رقمی با سرعت در هم ضرب بشه و بعد جواب کلی تصحیح بشه !

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
(آخرین ویرایش در این ارسال: ۰۵-خرداد-۱۳۸۶, ۱۸:۰۰:۴۷، توسط Mamad2003.)
۰۵-خرداد-۱۳۸۶, ۱۷:۵۶:۵۴
ارسال‌ها
پاسخ
sara.s آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 1
تاریخ عضویت: خرداد ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: فاکتوریل
سلام
مرسی از جوابتون. الان من برنامه ای نوشتم که فاکتوریل اعداد بزرگ را هم حساب میکنه. من فقط از نوع دابل متغیر رو گرفتم. جوابو درست می ده ولی 10 رقم از اعشار پایانی شو نمی نویسه.
۰۶-خرداد-۱۳۸۶, ۰۰:۲۱:۴۱
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #4
RE: فاکتوریل
لطف کنید برنامه رو اینجا بزارین من ببینم چطور نوشتین تا بتونم بهتر راهنماییتون بکنم !

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۰۶-خرداد-۱۳۸۶, ۱۲:۵۵:۰۲
ارسال‌ها
پاسخ
sara.s آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 1
تاریخ عضویت: خرداد ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: فاکتوریل

.doc   Factorial.doc (اندازه: 20 KB / تعداد دفعات دریافت: 204) مرسی. فایل cpp که اتچ کردم قبول نکرد . با wordبراتون میفرستم.

thanks alot. sara
۰۶-خرداد-۱۳۸۶, ۲۲:۵۱:۲۰
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #6
RE: فاکتوریل
سلام

برنامه شما رو دیدم . این روش محاسبه برای اعداد خیلی بزرگ دقیق نیست . ببینید شما متغیر رو از نوع double گرفتید و در واقع یک عدد floating point ( اعشاری ) دارید که یک عدد 64 بیتی هست ( این بزرگترین نوع متغیر در زبان هست ) و فقط دقت اون 16 رقم اعشار عددی هست پس شما ماکزیمم میتونی به 16 رقم اعشار عدد اصلی دست پیدا کنی و نه بیشتر !
اگر میخوای هر 16 رقم رو ببینی باید سیستم نمایش اعداد رو به fixed point تغییر بدی . فقط کافیه که خط زیر رو اول برنامه ات قرار بدی که اعشارها رو ببینی :

کد:
cout.setf (ios_base::fixed , ios_base::floatfield);

اگر دقت بکنید میتونید ببینید که بعد از 16 رقم بقیه ارقام صفر خواهند بود و این نشون میده که بقیه ارقام اعشار صفر در نظر گرفته میشن و به همین دلیل جواب دقیقی نخواهیم داشت .

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۰۷-خرداد-۱۳۸۶, ۱۳:۱۳:۲۷
ارسال‌ها
پاسخ
excelable آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #7
RE: فاکتوریل
سلام
من برای اینکه اثبات کنم برنامه ی اکسل همچنان بی نظیر و پر قدرت ترینه، چند ساعت وقت گذاشتم و با استفاده از ویژوال بیسیک در اکسل2007، برنامه ای نوشتم که بتونه فاکتوریل اعداد بزرگ رو محاسبه کنه.
این برنامه تنها یک محدودیت داره: فقط می تونه فاکتوریل اعدادی رو محاسبه کنه که تعداد رقم های جواب نهایی فاکتوریل آن عدد، کوچک تر از شانزده هزار باشه(16000). یعنی اگر جواب نهایی فاکتوریل، یه عدد شانزده هزار رقمی باشه(یا کمتر)، می تونه اون فاکتوریل رو محاسبه کنه.
فکر کنم همین قدرش هم برای سوت کشیدن مخ کافی باشه! اما تو فکرم که برنامه رو ارتقا بدم تا جواب های یک ملیون رقمی رو هم پیدا کنه.
یک نکته ی دیگه هم اینکه اگر عدد بزرگ باشه، برای محاسبه ی جواب باید مدتی صبر کنید که بستگی به بزرگی عددتون داره؛ ولی مطمئن باشید که اکسل جواب رومحاسبه می کنه.
سعی می کنم یه کمی اصلاحات روش انجام بدم و بعد بگذارمش روی وبلاگم.
اگه زودتر خواستید اون رو، یه ایمیل بزنید تا بفرستم خدمتتون.
http://www.excelable.blogfa.com/
excelable@gmail.com
۲۸-شهریور-۱۳۸۸, ۲۳:۱۶:۰۴
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] فاکتوریل؟ megatron 1 2,158 ۰۶-دى-۱۳۹۲, ۱۹:۴۴:۴۹
آخرین ارسال: megatron
  فاکتوریل اعداد aleas 2 5,090 ۱۷-اردیبهشت-۱۳۹۱, ۱۴:۵۲:۵۵
آخرین ارسال: mhpc2009
  الگوریتم برنامه فاکتوریل رقم های بزرگ amir-yeketaz 15 20,742 ۱۸-تير-۱۳۹۰, ۲۰:۳۵:۲۵
آخرین ارسال: roteil

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS