تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 3 از 3

نام تاپيک: فاکتوریل اعداد بزرگ

  1. #1
    آخر فروم باز mahdi bg's Avatar
    تاريخ عضويت
    May 2006
    محل سكونت
    مشهد
    پست ها
    1,543

    پيش فرض فاکتوریل اعداد بزرگ

    سلام
    طریقه محاسبه فاکتوریل اعداد بزرگ مثلا 6 رقمی چطوریه؟
    آیا راهی داره بدون فرمول n * n-1 * n-2 * ... * 2 * 1 فاکتوریل رو بدست آرود.
    از چه ساختاری میشه اصتفاده کرد و الگوریتم کار چطوریه


    ممنون

  2. #2
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2010
    پست ها
    17

    پيش فرض

    مشکل در ذخیره ی اعداد بزرگ و ضرب اونها است. اگر نتیجه ی ضرب اعداد را به صورت آرایه ذخیره کنید و در ضرب نیز کدی را بنویسید تا این اعداد را در هم ضرب کنید مشکلی نخواهد بود. یعنی از دستور * برای ضرب اعداد بزرگ استفاده نکنید.
    فرض کنید نتیجه ی ضرب اعداد قبلی در آرایه ای ذخیره شده است، عدد بعدی را با ضرب دستی (کد خودتون) در این عدد ضرب کرده و در آرایه ذخیره می کنیم.

  3. #3
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اگر شما از یک زبان برنامه نویسی کاملاً شی گرا با قابلیت بازتعریف اپراتورها استفاده کنید، کارتان ساده خواهد بود، کافی است یک ساختار یا کلاس جدید ایجاد کنید که بتواند اعداد بسیار بزرگ را به صورت آرایه byte یا آرایه int نگداری و ضرب کند.
    بعد هم در یک حلقه ساده از ان استفاده کنید.

    البته لازم به ذکر است که Microsoft .Net Framework 4 شامل همچین ساختار آماده ای به نام System.Numerics.BigInteger است که میتواند به صورت نامحدود (محدود به RAM آزاد) عددی را نگاه دارد و با چهار عملی اصلی و... پردازش کند.
    نتیجتاً در زبان هایی مثل C#.Net و VB.Net و C++.Net و J#.Net و ... میتوان کدی مثل این نوشت که به سادگی بتواند فاکتوریل اعداد بسیار بزرگ را هم محاسبه کند:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خود من همین دستور را همین الآن و قبل از ارسال این پست و مطلب در سایت، به سادگی و با موفقیت برای محاسبه 500000 (پانصد هزار فاکتوریل!) فاکتوریل استفاده کردم، البته کمی طول کشید تا انجام دهد ولی بدون مشکل محاسبه کرد.
    محاسبات چند هزار فاکتوریل خیلی سریع تر انجام شد و اگر صبر کافی ندارید پیشنهاد میکنم اول با چند هزار فاکتوریل امتحان کنید.
    حتی تا حد چند ده هزار هم در چند ثانیه انجام شد.

    موفق باشید.
    Last edited by _H2_; 16-08-2011 at 21:06. دليل: اضافه کردن کد VB برای تکمیل تر شدن مطلب

  4. 2 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •