本题块长取 m\sqrt mm 时,注意 mmm 可以为 000。所以这么写会死循环:
const u32 b = ceil(sqrt(m) * 4); ... for (u32 i = 0; i * b < q; i++) { ... }