出于测试目的,我需要找到两个64位整数值,它们恰好乘以具有特定位模式的128位中间值。显然,我可以生成所需的中间值并除以随机值,直到找到有效的组合,但是有更有效的方法吗?
答案 0 :(得分:7)
此问题听起来像integer factorisation。遗憾的是,没有快速的算法是已知的,但是从浏览维基百科页面来看,似乎有一些(可能是棘手的)算法比试验分割更快。
答案 1 :(得分:4)
我准备发布与j_random_hacker相同的东西。我只想补充说,如果128位数是素数,或者素数因子大于64位,那么你的问题将无法解决。
答案 2 :(得分:1)
我只是添加到之前的评论:如果128位数的素数因子大于64位,那么它肯定有一个小于64位的因子:)