मान लीजिए कि हमारे पास एक धनात्मक पूर्णांक N है, हम अंकों को किसी भी क्रम में (मूल क्रम सहित) इस प्रकार पुन:व्यवस्थित करते हैं कि प्रमुख अंक गैर-शून्य हो। हमें यह जांचना होगा कि क्या हम इसे इस तरह से कर सकते हैं कि परिणामी संख्या 2 की शक्ति हो।
इसलिए, अगर इनपुट एन =812 जैसा है, तो आउटपुट ट्रू होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
मैं:=1
-
जबकि मैं<=1000000000, करता हूं
-
s:=मैं एक स्ट्रिंग के रूप में
-
s:=s के वर्णों को क्रमबद्ध करें
-
t:=n एक स्ट्रिंग के रूप में
-
t:=t के वर्णों को क्रमबद्ध करें
-
यदि s, t के समान है, तो
-
सही लौटें
-
-
मैं:=मैं*2
-
-
झूठी वापसी
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(n): i=1 while i<=1000000000: s=str(i) s=''.join(sorted(s)) t=str(n) t=''.join(sorted(t)) if s==t: return True i=i*2 return False N = 812 print(solve(N))
इनपुट
812
आउटपुट
True