用 Python 编写程序来查找重新排序后的 2 的幂
pythonserver side programmingprogramming更新于 2025/12/2 12:28:17
假设我们有一个正整数 N,我们以任意顺序(包括原始顺序)重新排序数字,使得首位数字不为零。我们必须检查是否可以以某种方式执行此操作,以使结果数字为 2 的幂。
因此,如果输入为 N = 812,则输出将为 True
要解决这个问题,我们将遵循以下步骤 −
i:= 1
当 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
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

