ধরুন আমাদের একটি পূর্ণসংখ্যা আছে; আমাদের তা 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