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