একটি অ-ঋণাত্মক পূর্ণসংখ্যা n এর ফ্যাক্টরিয়াল হল সমস্ত ধনাত্মক পূর্ণসংখ্যার গুণফল যা n এর থেকে কম বা সমান।
উদাহরণস্বরূপ:7 এর ফ্যাক্টরিয়াল হল 5040।
7! = 7 * 6 * 5 * 4 * 3 * 2 *1 7! = 5040
আসুন আমরা পুনরাবৃত্তি ব্যবহার করে একটি সংখ্যার ফ্যাক্টরিয়াল গণনা করার জন্য কোডটি দেখি।
উদাহরণ
#include <iostream> using namespace std; int fact(int n) { if ((n==0)||(n==1)) return 1; else return n*fact(n-1); } int main() { cout<<"Factorial of 5 is "<<fact(5)<<endl; cout<<"Factorial of 3 is "<<fact(3)<<endl; cout<<"Factorial of 7 is "<<fact(7)<<endl; return 0; }
আউটপুট
Factorial of 5 is 120 Factorial of 3 is 6 Factorial of 7 is 5040
উপরের প্রোগ্রামে, ফাংশন fact() একটি পুনরাবৃত্ত ফাংশন। main() ফাংশন ফ্যাক্ট() নম্বর ব্যবহার করে কল করে যার ফ্যাক্টরিয়াল প্রয়োজন। এটি নিম্নলিখিত কোড স্নিপেট দ্বারা প্রদর্শিত হয়৷
৷cout<<"Factorial of 5 is "<<fact(5)<<endl; cout<<"Factorial of 3 is "<<fact(3)<<endl; cout<<"Factorial of 7 is "<<fact(7)<<endl;
যদি সংখ্যাটি 0 বা 1 হয়, তাহলে fact() 1 প্রদান করে। যদি সংখ্যাটি অন্য কোনো হয়, তাহলে fact() n-1 মান দিয়ে নিজেকে বারবার কল করে। নিজেকে পুনরাবৃত্তভাবে কল করার পাশাপাশি, fact() n কে রিকার্সিভ কল ফ্যাক্ট(n-1) এর সাথে গুন করে। এই ফলন.
n*(n-1)*(n-2)....3*2*1 or the factorial of n
এটি নিম্নলিখিত কোড স্নিপেট ব্যবহার করে প্রদর্শিত হয়।
int fact(int n) { if ((n==0)||(n==1)) return 1; else return n*fact(n-1); }ফেরত দিন