मान लीजिए कि हमारे पास एक पूर्णांक है; हमें जांचना है कि यह 4 की शक्ति है या नहीं।
इसलिए, अगर इनपुट 16 जैसा है, तो आउटपुट ट्रू होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
अगर संख्या <0, तो -
-
झूठी वापसी
-
-
यदि संख्या और (संख्या -1) शून्य नहीं है, तो -
-
झूठी वापसी
-
-
अगर (संख्या और 010101010101010101010101010101) शून्य है, तो -
-
झूठी वापसी
-
-
सही लौटें
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#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