কম্পিউটার

C++ এ ক্ষমতার যোগফল হিসাবে একটি সংখ্যা প্রকাশ করার উপায় গণনা করুন


ইনপুট হিসাবে দুটি সংখ্যা সংখ্যা এবং শক্তি দেওয়া হয়েছে৷ লক্ষ্য হল প্রদত্ত শক্তিতে উত্থিত অনন্য প্রাকৃতিক সংখ্যার যোগফল হিসাবে সংখ্যাকে উপস্থাপন করা যায় এমন উপায়গুলি খুঁজে বের করা। যদি সংখ্যা 10 হয় এবং শক্তি 2 হয় তবে আমরা 10 কে 12+32 হিসাবে উপস্থাপন করতে পারি। তাই মোট 1 উপায়।

উদাহরণস্বরূপ

ইনপুট

num=30

আউটপুট

Count of ways to express a number as sum of powers are: 2

ব্যাখ্যা

The ways in which we can express 30 as sum of powers:
12 + 22 + 52 and 12 + 22 + 32 + 42

ইনপুট

num=35

আউটপুট

Count of ways to express a number as sum of powers are: 1

ব্যাখ্যা

The ways in which we can express ‘num’ as sum of powers: 22 + 32

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

এই পদ্ধতিতে আমরা প্রথমে পরীক্ষা করি যে সংখ্যাটি নিজেই যে কোন সংখ্যার শক্তি power . যদি হ্যাঁ হয় তবে 1 হিসাবে ফেরত দিন, যদি না হয় তাহলে বারবার চেক করুন যোগফলের সংখ্যা শক্তি + (সংখ্যা+1) শক্তি .

  • ইনপুট হিসাবে দুটি পূর্ণসংখ্যা সংখ্যা এবং শক্তি নিন।

  • ফাংশন sum_of_powers(int num, int power, int val) একটি সংখ্যা নেয় এবং প্রদত্ত পাওয়ারে উত্থিত অনন্য প্রাকৃতিক সংখ্যার যোগফল হিসাবে 'num' প্রকাশ করার উপায়গুলির গণনা প্রদান করে।

  • চেক নিন=(সংখ্যা − pow(val, power))। চেক 0 হলে 1 ফেরত দিন কারণ সংখ্যাটি নিজেই val power .

  • চেক 0 এর কম হলে 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<<"Count of ways to express a number as sum of powers are: "<<sum_of_powers(num, power, 1);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of ways to express a number as sum of powers are: 2

  1. নোডগুলি গণনা করুন যার সমষ্টি X এর সাথে C++ এ একটি ফিবোনাচি সংখ্যা

  2. একটি সেটকে C++-এ k উপসেটে ভাগ করার উপায় গণনা করুন

  3. C++ এ প্রয়োজনীয় যোগফল থেকে 2 এর ক্ষমতা

  4. একটি সংখ্যা C++ এ শক্তি হিসাবে প্রকাশ করা যায় কিনা তা পরীক্ষা করুন