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

C++-এ একটি সংখ্যাকে পাওয়ার যোগফল হিসেবে প্রকাশ করার পদ্ধতির সংখ্যা গণনা


দুটি সংখ্যা num এবং power ইনপুট হিসেবে দেওয়া আছে। লক্ষ্য হলো num-কে কতভাবে ইউনিক প্রাকৃতিক সংখ্যার দিয়ে দেওয়া power-এর ঘাতে তোলার যোগফল হিসেবে প্রকাশ করা যায় সেটি বের করা। যদি num = 10 এবং power = 2 হয়, তবে ১০ কে ১2 + ৩2 হিসেবে প্রকাশ করা যায়। তাই মোট ১ পদ্ধতি।

উদাহরণ ১

ইনপুট

num=30

আউটপুট

একটি সংখ্যাকে পাওয়ার যোগফল হিসেবে প্রকাশ করার পদ্ধতির সংখ্যা: 2

ব্যাখ্যা

৩০ কে পাওয়ার যোগফল হিসেবে প্রকাশ করার পদ্ধতিগুলো: 12 + 22 + 52 এবং 12 + 22 + 32 + 42

উদাহরণ ২

ইনপুট

num=35

আউটপুট

একটি সংখ্যাকে পাওয়ার যোগফল হিসেবে প্রকাশ করার পদ্ধতির সংখ্যা: 1

ব্যাখ্যা

'num' কে পাওয়ার যোগফল হিসেবে প্রকাশ করার পদ্ধতি: 22 + 32

প্রয়োগ করা পদ্ধতি

এই পদ্ধতিতে প্রথমে চেক করা হয় সংখ্যাটি নিজে কি কোনো num^power। যদি হয় তবে পদ্ধতি ১ রিটার্ন, না হলে রিকার্সিভলি num^power + (num+1)^power যোগফল চেক করা হয়।

  • দুটি ইন্টিজার num এবং power ইনপুট নিন।

  • sum_of_powers(int num, int power, int val) ফাংশনটি পদ্ধতির সংখ্যা রিটার্ন করে।

  • check = (num - pow(val, power)) ক্যালকুলেট করুন। যদি check == 0 হয় তবে ১ রিটার্ন করুন কারণ সংখ্যাটি নিজে val^power।

  • যদি check < 0 হয় তবে ০ রিটার্ন করুন।

  • অন্যথায় temp = val + 1 নিন।

  • sum_of_powers(check, power, temp) + sum_of_powers(num, power, temp) রিটার্ন করুন।

  • শেষে পদ্ধতির মান রিটার্ন হবে।

উদাহরণ কোড

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

int sum_of_powers(int num, int power, int val) {
    int check = (num - pow(val, power)); 
    
    if(check == 0) {
        return 1; 
    } else if(check < 0) {
        return 0; 
    } else {
        int temp = val + 1; 
        return sum_of_powers(check, power, temp) + sum_of_powers(num, power, temp); 
    } 
} 

int main() { 
    int num = 25, power = 2; 
    cout << "একটি সংখ্যাকে পাওয়ার যোগফল হিসেবে প্রকাশ করার পদ্ধতির সংখ্যা: " << sum_of_powers(num, power, 1); 
    return 0; 
}

আউটপুট

উপরোক্ত কোডটি রান করলে নিচের আউটপুটটি আসবে:

একটি সংখ্যাকে পাওয়ার যোগফল হিসেবে প্রকাশ করার পদ্ধতির সংখ্যা: 2

  1. ফিবোনাচ্চি সংখ্যা যেন করা নোডের ওজন এবং X-এর যোগফল C++-এ

  2. C++-এ একটি সেটকে k সাবসেটে ভাগ করার পদ্ধতির সংখ্যা গণনা

  3. দুইয়ের ঘাত যোগ করে সংখ্যা গঠন (C++)

  4. C++ প্রোগ্রাম: সংখ্যা aᵇ আকারে এক্সপ্রেস করা যায় কিনা চেক