我剛剛開始設計分析和算法課程,我們已經從簡單的算法開始。劃分算法
有一個除法算法,我不能有任何意義。
功能劃分(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