我正在尝试编写一个程序,该程序将生成一个文本文件,其中包含从一个字符到二十九个字符的每种可能的字母表排列。我选择了29作为大家都知道的最长的英文单词,它是antidistitutionalarianism,长度为28个字符。还有一些较长的,但主要是非常技术性和晦涩难懂的。
我意识到这会生成大量的字符串。然而我不知道从哪里开始,甚至不知道如何计算出这会产生多少种组合。
请回答 PHP 的解决方案,加工 http://en.wikipedia.org/wiki/Processing_%28programming_language%29、C++ 或 Java(我只熟悉这些,PHP 是首选,但可能不是我想象的最好的)。
或者甚至只是伪代码/想法将受到赞赏。
另外,在有人说之前,这不是为了暴力破解或类似的事情。我是一名艺术家,尽管我的概念有些不为人知且晦涩难懂。
“排列”一词通常意味着每个字母只出现一次,因此不可能生成超过 26 个字母的排列。不管怎样,由于生成的字符串数量太大,所以可以使用随机字符串代替(以下是C代码):
char s[30];
int p;
for (;;) // repeat forever: you cannot use a realistic iteration limit anyway
{
for (p = 0; p < 29; ++p)
s[p] = 'a' + rand() % 26;
s[29] = '\0';
puts(s);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)