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

C++ में 2 की पुनर्क्रमित शक्ति

मान लीजिए कि हमारे पास एक धनात्मक पूर्णांक N है, हम अंकों को किसी भी क्रम में (मूल क्रम सहित) इस प्रकार पुन:व्यवस्थित करते हैं कि प्रमुख अंक गैर-शून्य हो। हमें यह जांचना होगा कि क्या हम इसे इस तरह से कर सकते हैं कि परिणामी संख्या 2 की शक्ति है। इसलिए यदि संख्या 46 की तरह है, तो उत्तर सत्य होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • गिनती नामक एक विधि को परिभाषित करें, यह x को इनपुट के रूप में लेगा

  • रिट:=0

  • जबकि x 0 नहीं है

    • ret :=ret + 10 ^ x का अंतिम अंक

    • एक्स:=एक्स / 10

  • वापसी रिट

  • मुख्य विधि से निम्न कार्य करें -

  • एक्स:=गिनती (एन)

  • मेरे लिए 0 से 31 की सीमा में

    • अगर गिनती(2^i) =x, तो सही लौटें

  • झूठी वापसी

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   int count(int x){
      int ret = 0;
      while(x){
         ret += pow(10, x % 10);
         x /= 10;
      }
      return ret;
   }
   bool reorderedPowerOf2(int N) {
      int x = count(N);
      for(int i = 0; i < 32; i++){
         if(count(1 << i) == x) return true;
      }
      return false;
   }
};
main(){
   Solution ob;
   cout << (ob.reorderedPowerOf2(812));
}

इनपुट

812

आउटपुट

1

  1. सी ++ में टेम्पलेट मेटाप्रोग्रामिंग

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

  1. C++ प्रोग्राम किसी संख्या की शक्ति की गणना करने के लिए

    किसी संख्या की घात की गणना x^y के रूप में की जा सकती है जहाँ x संख्या है और y इसकी शक्ति है। उदाहरण के लिए। Let’s say, x = 2 and y = 10    x^y =1024    Here, x^y is 2^10 पुनरावर्ती और गैर-पुनरावर्ती कार्यक्रमों का उपयोग करके किसी संख्या की शक्ति की गणना की जा सकती है। इन

  1. पायथन में 2 की पुन:व्यवस्थित शक्ति खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक धनात्मक पूर्णांक N है, हम अंकों को किसी भी क्रम में (मूल क्रम सहित) इस प्रकार पुन:व्यवस्थित करते हैं कि प्रमुख अंक गैर-शून्य हो। हमें यह जांचना होगा कि क्या हम इसे इस तरह से कर सकते हैं कि परिणामी संख्या 2 की शक्ति हो। इसलिए, अगर इनपुट एन =812 जैसा है, तो आउटपुट ट्रू होगा