一尘不染

使用素数比较字谜

algorithm

有一个问题,试图查看两个唯一的字符串是否彼此相同。我考虑过的第一个解决方案是对两个字符串进行排序,看看它们是否相等。

我一直在考虑另一种解决方案,我想讨论一下是否可行。

想法是为每个字符分配一个数值并将其求和,以使唯一的一组字符产生一个唯一的值。当我们测试字谜时,我们不介意“ asdf”和“ adsf”的校验和是否相同-
实际上,我们要求是这样。但是,字符串“ aa”和“ b”的校验和不应相等。

我正在考虑将前52个素数分配给字母“ a”至“ z”,然后分配“ A”至“ Z”(假设我们只有字母)。

如果52个素数集中的任何两个或更多素数之和可能导致该集中存在另一个素数,则上述方案将失效。

我的怀疑是:

  1. 有没有可以满足我要求的编号方案?
  2. 我不确定所涉及的数学;是否有可能证明/是否有证据表明前52个素数集中的两个或多个素数之和具有至少一个存在于同一集合中的值?

谢谢。


阅读 270

收藏
2020-07-28

共1个答案

一尘不染

使用乘法而不是加法。素数是“可乘唯一的”,而不是“可乘唯一的”。

2020-07-28