Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में चार की घात


समस्या विवरण

मान लीजिए हमारे पास एक पूर्णांक है; हमें जांचना है कि वह 4 की घात है या नहीं।

उदाहरण

यदि इनपुट है: 16, तो आउटपुट होगा True।

हल करने का दृष्टिकोण

इस समस्या को हल करने के लिए निम्नलिखित चरणों का पालन करें:

  • यदि num < 0, तो false लौटाएं
  • यदि num & (num - 1) शून्येतर है, तो false लौटाएं (यह जांचता है कि क्या num 2 की घात है)
  • यदि (num & 0x55555555) शून्य है, तो 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
  1. - C++ में टेम्पलेट मेटाप्रोग्रामिंग

    जब हम टेम्पलेट का उपयोग करके कंपाइल टाइम पर गणना करने के लिए प्रोग्राम लिखते हैं, तो इसे टेम्पलेट मेटाप्रोग्रामिंग कहा जाता है।उदाहरण कोड#include <iostream> using namespace std; template<int n>struct power {    enum { value = 4*power<n-1>::value }; }; template<>stru

  1. - C++ में void फ़ंक्शन्स से रिटर्न

    void फ़ंक्शन्स को void कहा जाता है क्योंकि वे कुछ भी वापस नहीं करते हैं। एक void फ़ंक्शन कुछ भी वापस नहीं कर सकता यह कथन हमेशा सच नहीं है। एक void फ़ंक्शन से, हम कोई मान वापस नहीं कर सकते, लेकिन हम मान के अलावा कुछ वापस कर सकते हैं। उनमें से कुछ नीचे दिए गए हैं। एक void फ़ंक्शन रिटर्न कर सकता है एक

  1. - C++ में "ऑब्जेक्ट कैसे लौटाएं"?

    एक ऑब्जेक्ट क्लास का एक इंस्टेंस है। मेमोरी केवल तब आवंटित होती है जब एक ऑब्जेक्ट बनाया जाता है न कि जब क्लास परिभाषित की जाती है। एक ऑब्जेक्ट को फंक्शन द्वारा return कीवर्ड का उपयोग करके लौटाया जा सकता है। इसे प्रदर्शित करने वाला एक प्रोग्राम निम्नलिखित है − उदाहरण #include <iostream> u