在 Python 中查詢重新排列的 2 次冪的程式
假設我們有一個正整數 N,我們重新排列數字的順序(包括原始順序),以使首位數字不為零。我們必須檢查是否可以透過這種方式使結果數成為 2 的冪。
因此,如果輸入類似於 N = 812,那麼輸出將為 True
要解決這個問題,我們將遵循以下步驟 -
i:= 1
while i<=1000000000,執行操作
s:= i 作為字串
s:= 排序 s 的字元
t:= n 作為字串
t:= 排序 t 的字元
如果 s 與 t 相同,則
返回 True
i:= i*2
返回 False
示例
讓我們看一下以下實現,以便更好地理解 -
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
廣告