我想计算一组大小 X 的大小 Y 的所有排列。也就是说,如果我有 (1,2,3) 并且想要大小为 2, 3P2 的所有排列,它将是 (1,2) ( 1,3) (2,1) (2,3) (3,1) (3,2)。
GSL 和 C++ STL 都只提供我可以看到的 xPx。有人可以指点我一个可以做到这一点的 C/C++ 库或拼出一个快速且内存高效的算法吗?
我正在尝试解决一个非常短的密码。我已经找出了两个字母,并决定进行蛮力攻击。我有“ouglg ouyakl”,并且正在对照一本非常好的字典检查每个排列。我已经消除了 2 个字母,所以它的 24P7 或 1,744,364,160 种可能性还不错。我现在有一个 Perl 程序正在运行,所以这将是一个有趣的测试编程时间 + 运行时间的总效率。:)
(不,我不只是想要密码的答案。)