在下面的除法算法中,我无法理解为什么将 q 和 r 乘以 2 有效,以及为什么如果 x 是奇数则 r 会递增。
\n\n请给出该递归除法算法的理论论证。
\n\n提前致谢。
\n\nfunction divide(x, y) \n if x = 0: \n return (q, r) = (0, 0) \n (q, r) = divide(floor(x/2), y) \n q = 2q, r = 2r \n if x is odd: \n r = r + 1 \n if r \xe2\x89\xa5 y: \n r = r \xe2\x88\x92 y, q = q + 1\n return (q, r)\nRun Code Online (Sandbox Code Playgroud)\n