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

C++-এ একটি ইন্টিজারকে n-তম ঘাতের ইউনিক প্রাকৃতিক সংখ্যার যোগফল হিসেবে কতভাবে প্রকাশ করা যায় সেটা বের করা

এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা বের করবে একটি ইন্টিজারকে দেওয়া n-তম ঘাতের ইউনিক নাম্বারগুলোর যোগফল হিসেবে কতভাবে প্রকাশ করা যায়।

আমাদের দুটি ইন্টিজার আছে number এবং power। এবং আমাদের বের করতে হবে দেওয়া number-কে n-তম ঘাতের ইউনিক প্রাকৃতিক সংখ্যার যোগফল হিসেবে কতভাবে রিপ্রেজেন্ট করা যায়। একটি উদাহরণ দেখি।

ইনপুট - number = 50, power = 2

আউটপুট - 3

৪ কে ২ ঘাতের যোগফল হিসেবে লিখতে শুধু একটিভাবে সম্ভব।

আমরা রিকার্শন ব্যবহার করব সমস্যাটি সমাধান করতে। সমস্যাটি সমাধানের ধাপগুলো:

  • number এবং power ইনিশিয়ালাইজ করুন।
  • একটি রিকার্সিভ ফাংশন লিখুন উপযুক্ত নামে। এটি number, power এবং i আর্গুমেন্ট হিসেবে নেবে।
  • যদি number শূন্যের চেয়ে ছোট হয় বা pow(i, power) number-এর চেয়ে বড় হয়, তবে ০ রিটার্ন করুন।
  • যদি number শূন্য হয় বা pow(i, power) number-এর সমান হয়, তবে ১ রিটার্ন করুন।
  • ফাংশনের জন্য দুটি রিকার্সিভ কল থাকবে টোটাল উপায় বের করতে
    • i বাড়ান।
    • প্রথম রিকার্সিভ কল দিয়ে দেওয়া number-র চেয়ে ছোট নম্বর চেক করুন।
    • দ্বিতীয় রিকার্সিভ কল দিয়ে দেওয়া number চেক করুন।

উদাহরণ

কোডটি দেখি।

#include <bits/stdc++.h>
using namespace std;

int findPossibleWaysCount(int number, int power, int i = 1) {
    if (number < 0 || number < pow(i, power)) {
        return 0;
    }
    if (number == 0 || number == pow(i, power)) {
        return 1;
    }
    return findPossibleWaysCount(number - pow(i, power), power, i + 1) + findPossibleWaysCount(number, power, i + 1);
}

int main() {
    // initializing the number and power
    int number = 50, power = 2;
    cout << findPossibleWaysCount(number, power) << endl;
    return 0;
}

আউটপুট

3

উপসংহার

টিউটোরিয়ালে যদি কোনো প্রশ্ন থাকে, তবে কমেন্ট সেকশনে জানান।

  1. C++ প্রোগ্রাম: সংখ্যা ২টি ট্রায়্যাঙ্গুলার নাম্বারের যোগফল কিনা চেক

  2. C++-এ একটি সংখ্যা দুটি প্রাইমের যোগফল হিসেবে এক্সপ্রেস করা যায় কিনা চেক করা

  3. রিকার্সন ব্যবহার করে প্রাকৃতিক সংখ্যাগুলোর যোগফল (Sum of Natural Numbers) বের করার C++ প্রোগ্রাম

  4. পাইথনে অনন্য সংখ্যাগুলোর nth ঘাতের যোগফল হিসেবে একটি সংখ্যা বের করার পদ্ধতির সংখ্যা নির্ণয়