如何生成包含所有可能的12个字符的字母/数字组合的文件?

时间:2012-12-16 16:21:06

标签: c# generator letters-and-numbers

我一直在努力解决这个问题,我甚至无法弄清楚我从哪里开始。 我正在尝试创建一个会产生大量随机的程序(我可以将它们称为连续出版物)。 限制将来自英文大写字母的字母A-Z和0-9的数字。

此页面上的网站应用程序http://www.random.org/strings/

我希望它创建“全部”组合,没有相同的字母和数字,并将它们保存到文本文件中。我认为有大约200k +组合。

他们将是12个字符。例如:

  • T9T1P63WBYYZ
  • SCI1V7SAV9F5
  • 5OLN7UQS7MIE

我想用C#创建它,如果可能的话,但我不知道我应该从哪里开始。 我正在浏览谷歌和类似的项目大约一个星期,我需要它作为大学项目。 如果有人会帮助我会很开心。

1 个答案:

答案 0 :(得分:4)

呵呵..如果你有时间的话!

昨天被问到, L.B 在这里看到了一个很好的解决方案:

How to get all the possible 3 letter permutations?

他的简单解决方案,只需改变字母表:

var alphabet = "abcdefghijklmnopqrstuvwxyz1234567890";

var query = from a in alphabet
            from b in alphabet
            from c in alphabet
            from d in alphabet
            from e in alphabet
            from f in alphabet
            from g in alphabet
            from h in alphabet
            from i in alphabet
            from j in alphabet
            from k in alphabet
            from l in alphabet

            select "" + a + b + c + d + e + f + g + h + i + j + k + l;

foreach (var item in query)
{
    Console.WriteLine(item);
}

更高级的答案可能是CartesianProduct