我正在为校验数字方案实现Verhoeff算法,但是在Web源中似乎对于哪个排列周期应构成排列表的基础存在一些分歧。

Wikipedia使用:(36)(01589427)

apparently则使用数值循环,而this book则使用:(0)(14)(23)(56789),引自Winters在1990年的一篇文章中。它还指出,Verhoeff使用了Wikipedia的引用。

现在,我的数论有点生锈了,但是Wikipedia循环显然会在第8次幂之后重复,而第1本书将花费10,尽管它说s ^ 8 = s。表2.14(b)在2个周期中还有其他错误,因此无论如何这都是可疑的。

不幸的是,我没有原始文章的副本(太紧而无法支付/厌恶出版商仍在追索已有40年历史的赎金),也没有数字食谱的副本来检查(并且不愿意安装他们的偏执狂引起的复制保护插件以在线查看)。

那么,有人知道哪个是正确的吗?他们都正确吗?

最佳答案

有一个旧版本的数字食谱here可提供为PDF。 Verhoeff算法在第20.3节中介绍。它使用与Wikipedia文章相同的排列方式。

关于algorithm - 正确的Verhoeff算法置换周期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2872777/

10-11 13:36