想知道是否有人可以帮助我创建一个伪代码来处理如何划分 n 位二进制整数。这是我认为现在可能可行的方法,如果我错了,有人可以纠正这个问题:
divide (x,y)
if x=0: return (0,0) //(quotient, remainder)
(q,r) = divide(floor(x/2), y)
q=2q, r=2r
if x is odd: r = r+1
if r >= y: r = r-y, q = q+1
return (q,r)
你们会说这种通用伪代码算法将完成划分 n 位数字的预期任务,还是在我开始编写错误代码之前我的伪代码中遗漏了一些东西?