কম্পিউটার টিউটোরিয়াল

রিকার্সন ব্যবহার করে সংখ্যার ফ্যাক্টোরিয়াল বের করার C++ প্রোগ্রাম


একটি নন-নেগেটিভ ইন্টিজার n-র ফ্যাক্টোরিয়াল হলো ১ থেকে n পর্যন্ত সব ধনাত্মক পূর্ণসংখ্যার গুণফল। উদাহরণ: 4! = 4 × 3 × 2 × 1 = 24।

রিকার্সিভ প্রোগ্রাম

#include <iostream>
using namespace std;

int fact(int n) {
    if ((n == 0) || (n == 1))
        return 1;
    else
        return n * fact(n - 1);
}

int main() {
    int n = 4;
    cout << "Factorial of " << n << " is " << fact(n);
    return 0;
}

আউটপুট

Factorial of 4 is 24

ব্যাখ্যা

বেস কেস

if (n == 0 || n == 1) return 1; — ০! এবং ১! হলো ১।

রিকার্সিভ কেস

return n * fact(n - 1); — ফাংশন নিজের আপনাকে ছোট ইনপুট দিয়ে কল করে।

কল স্ট্যাক

fact(4) → 4 * fact(3) → 3 * fact(2) → 2 * fact(1) → 1। এরপর রিটার্ন হয়ে আসে: ২×১=২, ৩×২=৬, ৪×৬=২৪।

সীমাবদ্ধতা: বড় n-র জন্য স্ট্যাক ওভারফ্লো হতে পারে। ইন্টারেটিভ বা ডাইনামিক প্রোগ্রামিং ভালো।

  1. জাভা প্রোগ্রাম: রিকার্শন ব্যবহার করে ফ্যাক্টোরিয়াল (Factorial) বের করা

  2. জাভা প্রোগ্রাম: একটি সংখ্যার ফ্যাক্টোরিয়াল নির্ণয়

  3. পাইথন প্রোগ্রাম: রিকার্শন ছাড়া সংখ্যার ফ্যাক্টোরিয়াল বের করা

  4. Python-এ রিকার্শন ব্যবহার করে ফ্যাক্টোরিয়াল বের করা