gpt4 book ai didi

algorithm - 作为整数子序列的所有整数(被视为一串数字)

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:09:28 25 4
gpt4 key购买 nike

给定一个整数 1<=n<=100000。我如何有效地获得作为整数 n 的子序列的所有整数(将整数 n 视为一串数字)。我想要一个伪代码。

例如。 输入: n=121输出: 1,12,11,2,21(输出顺序不重要)

例如。 输入: n=132输出: 1,13,12,3,32,2

提前致谢

最佳答案

这是另一个版本,使用递归。这个只使用整数除法和模数(两者结合在 divmod 中)来获得“子整数”。它是用 Python 完成的,它和伪代码一样好......

def subints(n):
d, r = divmod(n, 10)
if d > 0:
for s in subints(d):
yield 10*s + r
yield s
yield r

示例:(结果数字的就足够了;使用list可以更好地理解)

>>> print list(subints(1234))
[1234, 123, 124, 12, 134, 13, 14, 1, 234, 23, 24, 2, 34, 3, 4]

关于algorithm - 作为整数子序列的所有整数(被视为一串数字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24510832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com