কম্পিউটার

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


এখানে আমরা দেখব, যদি আমরা একটি সংখ্যাকে 2-এর দুটি অ-শূন্য শক্তির যোগফল হিসাবে উপস্থাপন করতে পারি। তাই আমরা পরীক্ষা করব যে প্রদত্ত সংখ্যা N কে (2 x ) হিসাবে উপস্থাপন করা যেতে পারে। + 2 y ) যেখানে x, y> 0। ধরুন একটি সংখ্যা 10, এটিকে 2 হিসেবে উপস্থাপন করা যেতে পারে 3 + 2 1 .

পদ্ধতি সহজ. দুটি মামলা আছে। n সংখ্যাটি জোড় হলে, এটিকে 2 x হিসাবে উপস্থাপন করা যেতে পারে . যেখানে x> 0। আরেকটি কেস হল N হল বিজোড়, এটাকে কখনই 2 এর ক্ষমতার যোগফল হিসাবে উপস্থাপন করা যায় না। আমরা 0 হিসাবে শক্তি ব্যবহার করতে পারি না, তাই আমরা বিজোড় সংখ্যা পেতে পারি না। সমস্ত বিজোড় সংখ্যার জন্য এর বাইনারি উপস্থাপনার LSb হল 1

উদাহরণ

#include <iostream>
using namespace std;
bool isSumofTwosPower(int n) {
   if((n & 1) == 0){
      return true;
   }else{
      return false;
   }
}
int main() {
   int num = 86;
   if(isSumofTwosPower(num)){
      cout << "Can be represented";
   }else{
      cout << "Cannot be represented";
   }
}

আউটপুট

Can be represented

  1. একটি সংখ্যাকে C++ এ 2টি ত্রিভুজাকার সংখ্যার যোগফল হিসাবে উপস্থাপন করা যায় কিনা তা পরীক্ষা করুন

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

  3. একটি সংখ্যাকে দুটি প্রাইম নম্বরের যোগফল হিসাবে প্রকাশ করা যায় কিনা তা পরীক্ষা করার জন্য C++ প্রোগ্রাম

  4. পাইথনে একটি সংখ্যা a^b হিসাবে প্রকাশ করা যায় কিনা তা পরীক্ষা করুন