0

想知道是否有人可以帮助我创建一个伪代码来处理如何划分 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 位数字的预期任务,还是在我开始编写错误代码之前我的伪代码中遗漏了一些东西?

4

1 回答 1

1

除了明显的东西(不检查除以零,不处理负数)之外,它似乎正在工作。我通过将其应用于以 10 为底的数字来说服自己。

于 2012-09-19T03:35:43.527 回答