Javascript 中的组合算法返回数字的所有可能组合
编辑:
我需要在Javascript中实现组合算法,其结果与维基百科右侧的数字。使用给定的数字(n
),该函数将能够返回所有可能的分隔,例如
2: [1,1], [2] (2 sets)
3: [1,1,1], [1,2], [2,1], [3] (4 sets)
4: [1,1,1,1], [1,1,2], [1,2,1], [2,1,1], [2,2], [3,1], [1,3], [4] (8 sets)
理想情况下应该是一个函数接受并执行回调2^(n-1)
次。我会接受任何我能理解(并重写)的语言的答案。谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Prusswan 可能已经给出了最好的答案(算法的名称),但我忍不住写了一些 JavaScript:
Prusswan might have already given the best answer (the name of the algorithm), but I couldn't resist writing some javascript:
刚刚自己搞定了这个功能:
Just worked out the function on my own:
要求 2**(n-1) <= i < 2**n。
Call for 2**(n-1) <= i < 2**n.