首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建序列集(12345678)

创建序列集(12345678)
EN

Stack Overflow用户
提问于 2012-06-04 23:54:07
回答 2查看 113关注 0票数 3

我想创建一组字符串,下面是唯一的限制。相同的数字不应重复。

字符串范围1-8(12345678)或1-16(12345678910111213141516)

例如:(系列集)

代码语言:javascript
复制
12345678
12345687
12345876
12345867
...
...
87654321

就像这样,有2^8(1-8)和2^16(1-16)的可能性。如何才能以更少的计算非常有效地生成这些字符串?

EN

Stack Overflow用户

回答已采纳

发布于 2012-06-05 02:00:51

你的8种情况是可能的,但在那之后你很快就会用完空间。

这不是您想的那样的2^n案例--这是一个n!案例。

对于8,将有40,320个排列。

代码语言:javascript
复制
permute(k,n) = k! / (n-k)!
permute(8,8) = 8! / (8-8)! = 8! = 40320

对于16,将有20,922,789,888,000个排列。在16字节/置换的情况下,您将需要大约304TB来存储它们。

@kol的答案应该为你做排列,但我认为你需要改变你的需求。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10884235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档