کد محاسبه فاکتوریل به زبان سی پلاس پلاس C++

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

کد محاسبه فاکتوریل با استفاده از حلقه

فکر نمیکنم کد فوق نیاز به توضیح خاصی داشته باشد اما با این حال در رابطه با نحوه عملکرد کد بالا همین که بدانید در حلقه for اعداد یکی یکی از ۱ تا n (عددی که کاربر وارد کرده) در هر دور حلقه درون متغیر factorial ضرب میشوند و حاصل داخل همان متغیر ریخته میشود.

نکته
چون مقدار فاکتوریل اعداد نسبت به خود آن ها خیلی خیلی بزرگ میشود در نتیجه نوع متغیر factorial را از نوع long long انتخاب کردیم

 

کد محاسبه فاکتوریل با استفاده از تابع بازگشتی

در روش بازگشتی در واقع ما یک تابع را چندیدن بار درون خودش فراخوانی میکنیم تا به حالتی برسد که دیگر نیازی نباشد فراخوانی شود در واقع با هر بار فراخوانی یک واحد از عدد مورد نظر ما کم شده تا زمانی که این عدد به ۱ برسد سپس تابع به شرط پایانی خود میرسد و مقدار ۱ را برمیگرداند و سپس همین روند را به صورت برعکس تکرار میکند و در آخر مقدار n! را برمیگرداند.

تصویری از اجرای دو کد بالا:

کد محاسبه فاکتوریل به زبان سی پلاس پلاس C++