Csharp/C#教程:用于从笛卡尔集中选择特定集的逻辑分享


用于从笛卡尔集中选择特定集的逻辑

我正在制作一个密码暴力强迫工具作为学习练习,我希望它可以恢复。

所以,我想要的是能够说,这是一组可能的字符,如果我计算出这个设置的长度为n的每个可能组合的笛卡尔集合,x点的设置是什么?

但是,我想在不计算整个集合的情况下这样做。 我在网上看到过类似的逻辑,但是我无法概括为什么这么合适。

任何帮助都会很棒,谢谢! 如果有帮助的话,我会精通C#。

编辑:这是我之前提到的问题: 如何从笛卡尔积中选择特定项而不计算其他项

编辑:这是我的意思的一个例子:

Char set = [abcd] Length n = 4 Permutations: [aaaa] [aaab] [aaac] [aaad] [aaba] .... [dddd] 

因此,如果我在4处搜索该集合,我会得到[aaad]。 但是,如果我正在搜索元素7000,那么到达那一点需要很长时间。

这实现了您链接问题的答案:

 static string Get(string chars, int n, int i) { string ret = ""; int sizes = 1; for (int j = 0; j < n; j++) { ret = chars[(i / sizes) % chars.Length] + ret; sizes *= chars.Length; } return ret; } 

例:

上述就是C#学习教程:用于从笛卡尔集中选择特定集的逻辑分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!

 string chars = "abcd"; int n = 3; for (int i = 0; i < Math.Pow(chars.Length, n); i++) Console.WriteLine(i + "t" + Get(chars, n, i)); 
 0 aaa 1 aab 2 aac 3 aad ... 61 ddb 62 ddc 63 ddd 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1005389.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐