加载中...
n = p * q pq = p + q 请问你比较他两个的二进制位的时候,为什么不把pq/2,解题代码中却写到pq_high = 2 * iroot(n, 2)[0]
n = p * q pq = p + q 请问你比较他两个的二进制位的时候,为什么不把pq/2,解题代码中却写到pq_high = 2 * iroot(n, 2)[0]
这道题的考点是费马分解。你所说的问题是我没有注意到的,在test的过程中,我想进行的是寻找相同bit位的位数,理应在比较二进制位时是2p+q与n进行比较的。但是×2与//2所带来的效果是左移和右移,对于这道题的数据而言225,是比正确结果大了一部分,故可以正确解出flag。
加载中...