我刚刚开始设计分析和算法课程,我们已经从简单的算法开始。划分算法
有一个除法算法,我不能有任何意义。
功能划分(X,) 输入:2的整数x和y,其中y> = 1 输出:
if x=0: return (q,r)=(0,0) (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) * floor is lower bound
我们本来商数和x的其余除以y尝试这算法110011%101(二进制值)...我尝试了一些东西,我有一个奇怪的答案...转换成十进制值,这是错误的。
所以我尝试使用简单的十进制值而不是二进制第一。
x=25, y=5
This is what I'm doing
1st: q=x,r= 12,5
2nd: q=x,r= 6,5
3rd: q=x,r= 3,5
4th: q=x,r= 1,5
5th: q=x,r= 0,5
这个东西会如何工作?每次我都会运行它,最后x的最后一个值将是0(条件),它会停止并返回Q = 0,R = 0
有人能指导我,我要去哪里错了...
谢谢
我喜欢使堆栈成为文字堆栈的想法。太好了! –
很高兴有人抓到堆栈参考。 – pjs