آموزش ++c, زبان c++

فاکتوریل در سی پلاس پلاس (Factorial in cpp)

فاکتوریل در سی پلاس پلاس

در این قسمت تیم کدگیت را با آموزش فاکتوریل در سی پلاس پلاس همراهی کنید. پیش نیاز این آموزش کار با حلقه ها و الگوریتم های بازگشتی در سی پلاس پلاس است.

فاکتوریل

فرض کنید n  یک عدد طبیعی باشد. عدد  !n )  n فاکتوریل) به صورت زیر تعریف می‌شود:

n!=n×(n−1)×(n−2)×...×1

برای مثال:

5!=5×4×3×2×1=120

برای  n=0 نیز این نماد تعریف می‌شود و به طور قراردادی، 0!=1 در نظر گرفته می‌شود. این قرارداد شاید در ابتدا عجیب و بیهوده به نظر بیاید، اما انگیزه‌های بسیاری برای تعریف آن وجود دارد که می‌توانید در یک پله بالاتر ببینید.

نماد فاکتوریل تنها به اعداد صحیح نامنفی محدود نمی‌شود و برای دیگر اعداد حقیقی و حتی اعداد غیر حقیقی تعریف می‌شود که می‌توانید در یک پله بالاتر با آن‌ها آشنا شوید.

فاکتوریل در جاوا

پیاده سازی فاکتوریل در سی پلاس پلاس

برای پیاده سازی فاکتوریل میتوان از دو روش استفاده کرد.

  1. روش بازگشتی
  2. روش استفاده از حلقه

ما در این قسمت هر دوی این روش ها را آموزش میدهیم.

long int recfactorial(int n) {
    if (n == 0) // Base case
        return 1;
    else
        return n * recfactorial(n - 1); // Recursive call
}

در بالا کد فاکتوریل در سی پلاس پلاس به صورت بازگشتی نوشته شده است و در آن یک ورودی میگیریم. ورودی ما مقدار فاکتوریلی است که میخواهیم محاسبه کنیم. شرط پایه در کد بازشکتی بالا موقعی است که ورودی ما برابر 0 شود و در غیر این صورت به صورت بازگشتی فاکتوریل را محاسبه میکنیم.

long int loopfactorial(int n) {
    long int result = 1;

    while (n > 0) {
        result *= n;
        n--;
    }
    return result;
}

کد بالا روش غیر بازگشتی محاسبه فاکتوریل است. ما یک ورودی داریم مثل قبل و یک متغیر result که نتیجه را در آن میریزیم.

نوشته های مشابه

1 دیدگاه در “فاکتوریل در سی پلاس پلاس (Factorial in cpp)

  1. naser گفت:

    ممنون خوب.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *