3

出于测试目的,我需要找到两个 64 位整数值,它们恰好乘以具有特定位模式的 128 位中间值。显然,我可以生成所需的中间值并除以随机值,直到找到有效的组合,但有没有更有效的方法?

4

3 回答 3

7

这个问题听起来像整数分解。不幸的是,没有已知的快速算法,但是从那个维基百科页面看,似乎有一些(可能很棘手)算法比试除法更快。

于 2009-09-16T15:59:16.210 回答
4

我正要发布与 j_random_hacker 相同的内容。我只是补充一点,如果 128 位数字是素数,或者素数因子大于 64 位,那么您的问题将无法解决。

于 2009-09-16T16:03:11.817 回答
1

我将添加到前面的评论:如果 128 位数的素数大于 64 位,那么它肯定有一个小于 64 位的因数 :)

于 2009-09-16T17:31:23.263 回答