从唯一质数中获取数组?

问题描述 投票:-1回答:1

[我在Scott Aaronson的《自Democritus以来的量子计算》一书中遇到了一段。这样,

[当我上初中时,我有一个非常擅长数学,但可能不太擅长编程的朋友。他想使用数组编写程序,但他不知道数组是什么。他做了什么?他将数组的每个元素与唯一的质数相关联,然后将它们全部相乘。然后,每当他想从数组中读取某些内容时,他都会分解乘积。

作者没有对此进行更多详细说明。我的问题是这到底是如何工作的?

ps.s。我不确定这是否应该在Math堆栈交换中还是在此处。

primes
1个回答
1
投票

我不确定具体细节,但是我认为这与Fundamental Theorem of Arithmetic有关

如果您从未听说过,它说明每个数字都是素数的唯一组合的产物。

现在回到问题。假设您有一个看起来像这样的数组:

[ 5, 6, 1, 4, 7 ]

每个索引将被分配一个质数,有点像哈希表。

所以:5将映射到一个质数,比如说2,然后6将映射到另一个质数,比如说3,依此类推。然后发生的事情是,这些质数在相乘时会形成一个仅创建的数字从那些素数。这是对索引进行编码的数字。因此,当您“乘积乘积”时,它会返回最初乘以的相同值,没有差异。

我应该提一下,由于这很愚蠢,所以这不是实际或明智的实现。但我希望这可以帮助您更好地理解问题

EDIT:是的,这可能确实属于Math Stackexchange

© www.soinside.com 2019 - 2024. All rights reserved.