关于两个数字之间关系的问题

时间:2010-06-27 15:14:12

标签: factorization bit-representation

当一个数字被另一个数字整除时,它们之间是否有任何关系? 36位和9位或4位或12位之间,或10(1010)和5(101),或21(10101)和7(00111)之间的关系是什么?

感谢。如果某句话不正确,我很抱歉,但我希望你明白我的意思。

5 个答案:

答案 0 :(得分:4)

我知道这不是你所要求的,但它可能会有所帮助。通过操作位来建立二进制数可分性有许多技巧。例如,如果二进制数的偶数二进制位的总和减去其奇数二进制位的总和,则所有模数3都为零,二进制数可被三除数。这是一个讨论binary divisibility的链接。

答案 1 :(得分:3)

我们以36为例。

36 = 0010 0100

364 * 9,即

 4 = 0100
 9 = 1001

如果你将它们相乘(就像你在普通乘法中那样),你就会有

    0100 x
    1001
 --------
    0100
   0000
  0000
 0100
 -------
 0100100

所以基本上是0100 x 1001 = 0010 0100(当然,对于任何其他一对除数,你可以重复相同的事情)

现在,是否有任何特殊关系可以让你通过查看其位来获得36的所有除数?答案,唉,不是:)

编辑:至少没有已知的关系但是,谁知道,将来也许某个聪明的数学家会找到一个。截至今天,答案仍然是否定的。

答案 2 :(得分:1)

所以你想知道你是否可以通过查看位来'快速'做Integer Factorization吗?

祝你好运!

答案 3 :(得分:0)

显然,ab的倍数,可以通过ab的二进制表示来识别(这是执行以下代码时硬件的作用)

boolean isMultiple = a % b == 0;

)因此存在这样的关系。

提出更具体的问题以获得更具体的回复...

答案 4 :(得分:0)

最容易看到的是,最低有效数字中连续0的数字表示2的最大幂,这是你的数字n的一个因子。显然还有其他测试,正如DonnyD指出的那样(我不知道那个),但我预计它们的规模不会很好。如果他们这样做,公共密钥密码术(通常会实施)将很快成为过去。

这并不是说无法发现/发明这样的方法。例如,已经证明可以很容易地考虑任意大数using quantum methods,但实际上没有人能够实现工作系统。

最重要的是,我们已经将我们的在线金融系统和国家安全设备委托给基于PKI的方法,主要是因为我们假设保理数字对于任意大数字很难。但是,正如莫伦似乎暗示他的回答,欢迎你给它一个旋转。