ধরুন আমাদের একটি পূর্ণসংখ্যা আছে; আমাদের তা 4 এর শক্তি কিনা তা পরীক্ষা করতে হবে।
সুতরাং, যদি ইনপুট 16 এর মত হয়, তাহলে আউটপুট হবে True।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
যদি সংখ্যা <0, তাহলে −
-
ফেরত মিথ্যা
-
-
যদি num &(num - 1) অ-শূন্য হয়, তাহলে −
-
ফেরত মিথ্যা
-
-
যদি (সংখ্যা এবং 010101010101010101010101010101010101) শূন্য হয়, তাহলে −
-
ফেরত মিথ্যা
-
-
প্রত্যাবর্তন সত্য
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#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;
}
};
main(){
Solution ob;
cout << (ob.isPowerOfFour(64));
} ইনপুট
64
আউটপুট
1