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