我不确定如何确切地说出这个问题,所以这是一个例子:
string1 ="THEQUICKBROWNFOX"string2 ="KLJHQKJBKJBHJBJLSDFD"
我想要一个将string1高于string2和其他一百万个乱码字符串的函数.请注意缺少空格,因此这是逐字符功能,而不是逐字逐句.
在90年代,我在Delphi中编写了一个三元组评分函数,并使用来自Huck Finn的三元组填充它,我正在考虑将代码移植到C或Python或将其插入一个独立的工具,但必须有更有效的方法目前为止.我会这样做数百万次,所以速度很快.我尝试了Reverend.Thomas Beyse()python库并使用一些全部大写字符串训练它,但它似乎需要单词之间的空格,因此返回得分[].我发现了一些马尔可夫链库,但它们似乎也需要在单词之间留出空格.虽然从我对他们的理解,我不明白为什么会这样......
无论如何,我做了很多密码分析,因此将来使用空格和标点符号的评分函数会有所帮助,但是现在我只需要ALLCAPITALLETTERS.
谢谢您的帮助!
我试图在Python中计算数百个数字模P的立方根,并且失败了.
我找到了Tonelli-Shanks算法的代码,据说这个算法从平方根到立方根都很容易修改,但这让我望而却步.我搜索过网络和数学图书馆以及一些书都无济于事.代码会很精彩,算法也会用简单的英语解释.
这是用于查找平方根的Python(2.6?)代码:
def modular_sqrt(a, p):
""" Find a quadratic residue (mod p) of 'a'. p
must be an odd prime.
Solve the congruence of the form:
x^2 = a (mod p)
And returns x. Note that p - x is also a root.
0 is returned is no square root exists for
these a and p.
The Tonelli-Shanks algorithm is used (except
for some simple cases in which the solution
is known from an identity). This algorithm
runs in …Run Code Online (Sandbox Code Playgroud)