Rating: 5.0
Since each bit (except some low-order bits) is only set in one of p or q, we can determine the top ~1000 bits of p by starting with `p = 0b111111...` and `q = 0b0` and "moving" each bit into `q` if `p * q < n`. Brute force the 20 low-order bits to factor `n`.