मान लीजिए कि हमारे पास एक पूर्णांक है; हमें जांचना है कि यह 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