فاکتوریل اعداد بزرگتر از 50
:متفکر:
من میخوام فاکتوریل اعداد بزرگتر از پنجاه رو بدست بیارم با توجه به بزرگ بودن عدد خروجی آیا باید اونو داخل آرایه قرار بدم اگر حدسم درسته چطور باید یک عدد بزرگ رو در یک آرایه قرار بدم. اگر کسی راهنمایی بکنه یا آدرس جایی رو برای مطالعه در اختیارم بذاره ممنون میشم.
نقل قول: فاکتوریل اعداد بزرگتر از 50
نقل قول:
نوشته شده توسط
Mr.Olympia
ببخشید میشه بگید تا چقدر رو میتونه فاکتوریل بگیره ؟؟
سلام من مهرداد جمالی هستم ، در این مورد حتی خودم هم نمیتونم نظر بدم چون کار شبیه سازی ریاضی هست (استفاده از سری ها برای به نتیجه رسیدن) .
برای مثال فاکتوریل عدد 56786 رو گرفتم تا با قدرت این الگوریتم آشنا بشید:
*** Factorial Calculator ***
.:: Mehrdad Jamali ::. Stu#:86442125
--------------------------------
Please enter N to Calculate N! :56786
Please wait , calculating ...
Result: 56786! ~= 1.8836 e+245315
-----------
[[[ Please enter any key to exit ... ]]]
نقل قول: فاکتوریل اعداد بزرگتر از 50
نقل قول:
نوشته شده توسط
Mr.Olympia
سلام من همین الان با C++ یک برنامه نوشتم که فاکتوریل اعداد رو تا عدد 1754 میتونه حساب کنه با استفاده از همون الگوریتم قبلی فقط از یه نوع متغیر با محدوده خیلی بزرگ long double استفاده کردم اینم از کدش :
// Author : Morteza Sherafati (Xerxes)
#include <iostream.h>
#include <conio.h>
void main ()
{
clrscr();
long int number;
long double answer = 1;
cout<<"Enter a number : ";
cin>>number;
for (int i=number;i>=1;i--)
{
answer *= i;
}
cout<<"\nFactorial Of "<<number<<" Is "<<answer;
getch();
}
حالی به حولی
برنامه رو نوشتم و خواستم براي شما تو انجمن قرار بدم كه نوشته Mr.Olympia رو ديدم و ديگه دوباره ننوشتم .
همانطور كه اشاره شد متغيرتون رو از نوع long double بگيريد تا بتونيد تا فاكتوريل عدد 1754 رو محاسبه كنيد .
نقل قول: فاکتوریل اعداد بزرگتر از 50
نقل قول:
نوشته شده توسط
enjmehrdad
سلام من مهرداد جمالی هستم ، در این مورد حتی خودم هم نمیتونم نظر بدم چون کار شبیه سازی ریاضی هست (استفاده از سری ها برای به نتیجه رسیدن) .
برای مثال فاکتوریل عدد 56786 رو گرفتم تا با قدرت این الگوریتم آشنا بشید:
*** Factorial Calculator ***
.:: Mehrdad Jamali ::. Stu#:86442125
--------------------------------
Please enter N to Calculate N! :56786
Please wait , calculating ...
Result: 56786! ~= 1.8836 e+245315
-----------
[[[ Please enter any key to exit ... ]]]
دوست عزيز مقدار 1.8836 e+245315 بايد توي يك متغير قرار بگيرد و توي cpp نوع متغيري نداريم كه اين عدد رو ساپورت كنه .:متفکر: