0
想知道是否有人可以帮助我创建一个伪代码,以便如何去除n位二进制整数。下面是我在想什么可能可能现在的工作,可能会有人纠正这一点,如果我错了:划分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位数字的预期任务或者我在开始编码错误之前在我的psuedocode中丢失了某些东西?
对某些错误进行编码有时可以帮助您确定错误的位置和原因。我只是通过调试 – Fuzz
也做了很多的学习,由于程序的递归性质,只有在'n'的值没有被满足的情况下才会工作:-) – Fuzz
你可能会节省很多通过改变终止条件为无用的迭代:如果x
rici