একটি পূর্ণসংখ্যা ৪-এর ঘাত কিনা তা যাচাই করুন।
উদাহরণ: 16 -> true।
সমাধানের ধাপসমূহ
- যদি num < 0, false।
- যদি num & (num-1) != 0, false (২-এর ঘাত নয়)।
- যদি num & 0x55555555 == 0, false (৪-এর ঘাত নয়) - কারণ ৪-এর ঘাতের বাইনারি রিপ্রেজেন্টেশনে ১ বিটগুলো সম পজিশনে থাকে।
- true রিটার্ন করুন।
C++ কোড উদাহরণ
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
bool isPowerOfFour(int num) {
if (num < 0) return false;
if (num & (num - 1)) return false;
if (!(num & 0x55555555)) return false;
return true;
}
};
int main() {
Solution ob;
cout << ob.isPowerOfFour(64);
return 0;
}
ইনপুট
64
আউটপুট
1