فاکتوریل در برنامه‌نویسی c چیست؟

فاکتوریل در برنامه‌نویسی c
آنچه در این مطلب می‌خوانید

آشنایی با فاکتوریل

در این مطلب می‌خواهیم به مفهوم فاکتوریل در برنامه‌نویسی c بپردازیم. ابتدا مفهوم خود فاکتوریل را مرور می‌کنیم.
همان طور که می‌دانید در ریاضیات فاکتوریل یک عدد، حاصل ضرب تمام اعداد صحیح نزولی مثبت از آن عدد تا عدد یک است. فاکتوریل nبا n! نشان داده می شود.

به عنوان مثال :
۵! = ۵ * ۴ * ۳ * ۲ * ۱ = ۱۲۰
۳! = ۳ * ۲ * ۱ = ۶

در اینجا، !۵ به عنوان “۵ فاکتوریل” تلفظ می شود، به آن ۵ ‘bang’ یا ۵ ‘shriek’ نیز می گویند.

به طور کلی فاکتوریل عدد طبیعی n به صورت زیر تعریف می‌شود :
n! = n * ( n – ۱ ) * ( n – ۲ ) * …. * ۲ * ۱

فاکتوریل معمولاً در ترکیبات و جایگشت ها در ریاضیات استفاده می شود.

توجه داشته باشید که :

  •  اعداد منفی فاکتوریل ندارند.
  •  یه صورت قراردادی فاکتوریل عدد صفر و یک برابر است با ۱٫ ۰! = ۱ ۱! = ۱

روش‌های نوشتن برنامه فاکتوریل به زبان c

راه‌های زیادی برای نوشتن برنامه فاکتوریل به زبان c وجود دارد، در ادامه ۲ روش برای این کار معرفی می‌شود :

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

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

با استفاده از حلقه‌ی for برنامه بعد از دریافت عدد n آن را وارد حلقه می‌کند و تا زمانی که شمارنده حلقه به عدد ورودی یعنی n برسد برنامه اجرا خواهد شد سپس بعد از رسیدن شمارنده به n فاکتوریل n را محاسبه کرده و چاپ می‌کند.

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

#include<stdio.h>

int main(){int i,fact=1,number;printf(“Enter a number: “);scanf(“%d”,&number);for(i=1;i<=number;i++){fact=fact*i;}printf(“Factorial of %d is: %d”,number,fact);return 0;}

 خروجی این برنامه با عدد ورودی n = ۵ به شکل زیر خواهد بود: 

Enter a number : 5

Factorial of 5 is : 120

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

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

آموزش برنامه‌نویسی به زبان C++‎
آموزش برنامه‌نویسی به زبان C++‎
1,499,000 524,650 تومان
65%

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

استفاده از تابع بازگشتی در بسیاری از زبان‌های برنامه‌نویسی به عنوان یک شیوه حل مساله بسیار مفید در برنامه-نویسی رایج است، مانند محاسبه فاکتوریل یک عدد، تولید سری فیبوناچی، و … .

الگوریتم بازگشتی فاکتوریل، یک فرمول ساده و به این صورت است که فاکتوریل عدد n برابر حاصل ضرب n در فاکتوریل عدد n-۱ است. به عبارت دیگر برای محاسبه فاکتوریل یک عدد می توان آن عدد را در فاکتوریل عدد قبلی‌اش ضرب کرد.

!n! = n * ( n – ۱ )

هر تابع بازگشتی شامل دو بخش مهم است:

  • یک عبارت حاوی فراخوانی خود تابع
  • یک شرط برای انتخاب بین فراخوانی مجدد و پایان

برنامه فاکتوریل در برنامه‌نویسی c با استفاده از تابع بازگشتی:

#include<stdio.h>

long factorial(int n){if (n == 0)return 1;elsereturn(n * factorial(n-1));}void main(){int number;long fact;printf(“Enter a number: “);scanf(“%d”, &number);fact = factorial(number);printf(“Factorial of %d is %ldn”, number, fact);return 0;}

 الگوریتم بازگشتی فاکتوریل، یک فرمول ساده و به این صورت است که فاکتوریل عدد n برابر حاصل ضرب n در فاکتوریل عدد   n-۱  است. به عبارت دیگر برای محاسبه فاکتوریل یک عدد می توان آن عدد را در فاکتوریل عدد قبلی­اش ضرب کرد.

n! = n * ( n – ۱ )!

هر تابع بازگشتی شامل دو بخش مهم است :

  • یک عبارت حاوی فراخوانی خود تابع
  • یک شرط برای انتخاب بین فراخوانی مجدد و پایان

برنامه فاکتوریل در برنامه­نویسی c با استفاده از تابع بازگشتی:

#include<stdio.h>

long factorial(int n)

{

if (n == 0)

return 1;

else

return(n * factorial(n-1));

}

void main()

{

int number;

long fact;

printf(“Enter a number: “);

scanf(“%d”, &number);

fact = factorial(number);

printf(“Factorial of %d is %ldn”, number, fact);

return 0;

}

 خروجی این برنامه با ورودی  n = ۶ به صورت زیر خواهد بود:

Enter a number : 6

Factorial of 5 is : 720

https://maktabkhooneh.org/mag/factorial-program-in-c/
تصویر متین اونق

متین اونق

مقالات بیشتر
نمایش همزمان ویرایشگر کد فایل‌های قالب و پیش‌نمایش پنل کاربری مشتریان در مانیتور

آموزش قالب WHMCS؛ راهنمای نصب، ویرایش و ساخت پوسته سفارشی

نمایش همزمان کدهای پایتون در ویرایشگر و خروجی وب‌اپلیکیشن در مرورگر

ساخت وب‌اپلیکیشن با پایتون؛ آموزش عملی Flask و مقایسه با Django

نمایش کدهای تبدیل نوع داده با توابع int و float و str در محیط ویرایشگر پایتون

آموزش تبدیل داده در پایتون؛ راهنمای تبدیل انواع داده (Type Casting)

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

آموزش ساخت مگامنو در وردپرس (با افزونه، المنتور و قالب)

محیط کار برنامه‌نویسی شامل کدهای HTML، اسکریپت پایتون BeautifulSoup و خروجی جدول CSV در یک مانیتور

آموزش کامل BeautifulSoup؛ راهنمای گام‌به‌گام وب‌اسکرپینگ با پایتون

تصویرسازی سه‌بعدی از انتقال سریع صفحات وب کش‌شده از سرور به نمایشگر کامپیوتر در کنار عقربه سرعت‌سنج

آموزش تنظیمات افزونه لایت اسپید کش؛ افزایش سرعت وردپرس گام‌به‌گام