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

রিকার্সন ব্যবহার করে সংখ্যার ঘাত (Power) বের করার C++ প্রোগ্রাম


একটি সংখ্যা x-র y ঘাত (x^y) হলো x-কে y বার নিজের সাথে গুণ করা। উদাহরণ: 2^10 = 1024।

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

#include <iostream>
using namespace std;

int FindPower(int base, int power) {
    if (power == 0)
        return 1;
    else
        return base * FindPower(base, power - 1);
}

int main() {
    int base = 3, power = 5;
    cout << base << " raised to the power " << power << " is " << FindPower(base, power);
    return 0;
}

আউটপুট

3 raised to the power 5 is 243

ব্যাখ্যা

বেস কেস

if (power == 0) return 1; — যেকোনো সংখ্যার ০ ঘাত = ১।

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

return base * FindPower(base, power - 1); — প্রতিবার পাওয়ার ১ কমিয়ে রিকার্সিভ কল।

কল সিকোয়েন্স

FindPower(3,5) → 3 * FindPower(3,4) → 3 * 3 * FindPower(3,3) ... → 3⁵ = 243।

সীমাবদ্ধতা: O(n) রিকার্সিভ কল। বড় পাওয়ারের জন্য এক্সপোনেনশিয়েশন বাই স্কোয়ারিং (Exponentiation by Squaring) ব্যবহার করুন (O(log n))।

  1. C++-এ pow(x,n) ক্যালকুলেট করার প্রোগ্রাম

  2. C++-এ রিকারশন ব্যবহার করে ট্রির সাইজ ক্যালকুলেট করার প্রোগ্রাম

  3. C++-এ রিকার্শন ব্যবহার করে পিরামিড প্রিন্ট করা

  4. সি++ প্রোগ্রাম: রিকারশন ছাড়া রুট-টু-লিফ (Root-to-Leaf) সব পাথ প্রিন্ট করা